diff options
author | Christian Kamm <mail@ckamm.de> | 2018-06-14 15:35:06 +0300 |
---|---|---|
committer | Camila San <hello@camila.codes> | 2018-09-09 14:17:31 +0300 |
commit | 87dd198b5291e315506de3d34377ac2608ddc11a (patch) | |
tree | b58428f94430adb00b6455240c4019d0748c9d62 /src/gui/owncloudgui.h | |
parent | cb69944b5c09a26f86ec38d7ce9a589cac950f7a (diff) |
Tray workarounds #6545
* Disentangle the previous 'qdbusWorkarounds' into three different
things
* Make not trusting tray.isVisible() a new workaround
* Introduce env vars for all workaround flags
* Use the workaround flags for OSX
* Determine workaround flags for KDE when the plasma integration plugin
is missing
Diffstat (limited to 'src/gui/owncloudgui.h')
-rw-r--r-- | src/gui/owncloudgui.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/gui/owncloudgui.h b/src/gui/owncloudgui.h index c7e4c1272..44b7a1a6f 100644 --- a/src/gui/owncloudgui.h +++ b/src/gui/owncloudgui.h @@ -140,9 +140,11 @@ private: // tray's menu QScopedPointer<QMenu> _contextMenu; - // Manually tracking whether the context menu is visible, but only works - // on OSX because aboutToHide is not reliable everywhere. - bool _contextMenuVisibleOsx; + // Manually tracking whether the context menu is visible via aboutToShow + // and aboutToHide. Unfortunately aboutToHide isn't reliable everywhere + // so this only gets used with _workaroundManualVisibility (when the tray's + // isVisible() is unreliable) + bool _contextMenuVisibleManual; #ifdef WITH_LIBCLOUDPROVIDERS QDBusConnection _bus; @@ -150,8 +152,11 @@ private: QMenu *_recentActionsMenu; QVector<QMenu *> _accountMenus; - bool _qdbusmenuWorkaround; - QTimer _workaroundBatchTrayUpdate; + bool _workaroundShowAndHideTray = false; + bool _workaroundNoAboutToShowUpdate = false; + bool _workaroundFakeDoubleClick = false; + bool _workaroundManualVisibility = false; + QTimer _delayedTrayUpdateTimer; QMap<QString, QPointer<ShareDialog>> _shareDialogs; QAction *_actionNewAccountWizard; |