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