parent
9fce6c91d4
commit
9bb4be77ca
@ -0,0 +1,78 @@
|
||||
From cf7f7a6520897b485f002a38bd86f837b404b971 Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Holecek <hluk@email.cz>
|
||||
Date: Sun, 24 Jul 2016 09:07:37 +0200
|
||||
Subject: [PATCH] Add hidden option to open tray menu on left mouse click
|
||||
|
||||
Adds option "tray_menu_open_on_left_click" which is "false" by default
|
||||
so the main window opens on left mouse click.
|
||||
|
||||
Since tray/indicator areas in some desktop environments may override the
|
||||
mouse behavior this option is not visible in configuration dialog. It
|
||||
can be only change by editing configuration file and restarting the app.
|
||||
|
||||
Fixes #378
|
||||
---
|
||||
src/common/appconfig.h | 5 +++++
|
||||
src/gui/mainwindow.cpp | 5 ++++-
|
||||
src/gui/mainwindow.h | 2 ++
|
||||
3 files changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/common/appconfig.h b/src/common/appconfig.h
|
||||
index 49c4a22..1c3cdb1 100644
|
||||
--- a/src/common/appconfig.h
|
||||
+++ b/src/common/appconfig.h
|
||||
@@ -217,6 +217,11 @@ struct tray_images : Config<bool> {
|
||||
static Value defaultValue() { return true; }
|
||||
};
|
||||
|
||||
+struct tray_menu_open_on_left_click : Config<bool> {
|
||||
+ static QString name() { return "tray_menu_open_on_left_click"; }
|
||||
+ static Value defaultValue() { return false; }
|
||||
+};
|
||||
+
|
||||
struct tray_tab : Config<QString> {
|
||||
static QString name() { return "tray_tab"; }
|
||||
};
|
||||
diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp
|
||||
index e575a12..7d6dbfc 100644
|
||||
--- a/src/gui/mainwindow.cpp
|
||||
+++ b/src/gui/mainwindow.cpp
|
||||
@@ -1692,6 +1692,7 @@ void MainWindow::loadSettings()
|
||||
m_options.trayCurrentTab = appConfig.option<Config::tray_tab_is_current>();
|
||||
m_options.trayTabName = appConfig.option<Config::tray_tab>();
|
||||
m_options.trayImages = appConfig.option<Config::tray_images>();
|
||||
+ m_options.trayMenuOpenOnLeftClick = appConfig.option<Config::tray_menu_open_on_left_click>();
|
||||
m_options.itemPopupInterval = appConfig.option<Config::item_popup_interval>();
|
||||
m_options.clipboardNotificationLines = appConfig.option<Config::clipboard_notification_lines>();
|
||||
m_options.clipboardTab = appConfig.option<Config::clipboard_tab>();
|
||||
@@ -1821,7 +1822,9 @@ void MainWindow::trayActivated(QSystemTrayIcon::ActivationReason reason)
|
||||
// Don't do this on OS X, we only ever get "Trigger"
|
||||
Q_UNUSED(reason);
|
||||
#else
|
||||
- if ( reason == QSystemTrayIcon::MiddleClick ) {
|
||||
+ if ( reason == QSystemTrayIcon::MiddleClick
|
||||
+ || (m_options.trayMenuOpenOnLeftClick && reason == QSystemTrayIcon::Trigger) )
|
||||
+ {
|
||||
toggleMenu();
|
||||
} else if ( reason == QSystemTrayIcon::Trigger || reason == QSystemTrayIcon::DoubleClick ) {
|
||||
// Like toggleVisible() but hide window if visible and not focused
|
||||
diff --git a/src/gui/mainwindow.h b/src/gui/mainwindow.h
|
||||
index 2ac800a..af1ccb4 100644
|
||||
--- a/src/gui/mainwindow.h
|
||||
+++ b/src/gui/mainwindow.h
|
||||
@@ -66,6 +66,7 @@ struct MainWindowOptions {
|
||||
, trayTabName()
|
||||
, trayItems(5)
|
||||
, trayImages(true)
|
||||
+ , trayMenuOpenOnLeftClick(false)
|
||||
, itemPopupInterval(0)
|
||||
, clipboardNotificationLines(0)
|
||||
, transparency(0)
|
||||
@@ -89,6 +90,7 @@ struct MainWindowOptions {
|
||||
QString trayTabName;
|
||||
int trayItems;
|
||||
bool trayImages;
|
||||
+ bool trayMenuOpenOnLeftClick;
|
||||
int itemPopupInterval;
|
||||
int clipboardNotificationLines;
|
||||
int transparency;
|
Loading…
Reference in new issue