50 lines
1.8 KiB
Diff
50 lines
1.8 KiB
Diff
From a09034c57ee00e7c16c2db4fd43f1993ee2e686d Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Tinkl?= <lukas@kde.org>
|
|
Date: Fri, 30 Jan 2015 00:05:43 +0100
|
|
Subject: [PATCH 8/8] Implement SystemTrayMenuItem::setMenu() correctly
|
|
|
|
REVIEW: 122171
|
|
---
|
|
src/platformtheme/kdeplatformsystemtrayicon.cpp | 5 +++--
|
|
src/platformtheme/kdeplatformsystemtrayicon.h | 1 -
|
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/src/platformtheme/kdeplatformsystemtrayicon.cpp b/src/platformtheme/kdeplatformsystemtrayicon.cpp
|
|
index d3a1d4fe2f135ea241e97598a2589558656c1099..84dc6c06aa5d076990229edc00b500b26e41258b 100644
|
|
--- a/src/platformtheme/kdeplatformsystemtrayicon.cpp
|
|
+++ b/src/platformtheme/kdeplatformsystemtrayicon.cpp
|
|
@@ -144,7 +144,6 @@ QMenu *SystemTrayMenu::menu() const
|
|
SystemTrayMenuItem::SystemTrayMenuItem()
|
|
: QPlatformMenuItem()
|
|
, m_tag(0)
|
|
- , m_menu(Q_NULLPTR)
|
|
, m_action(new QAction(this))
|
|
{
|
|
connect(m_action, &QAction::triggered, this, &QPlatformMenuItem::activated);
|
|
@@ -187,7 +186,9 @@ void SystemTrayMenuItem::setIsSeparator(bool isSeparator)
|
|
|
|
void SystemTrayMenuItem::setMenu(QPlatformMenu *menu)
|
|
{
|
|
- m_menu = menu;
|
|
+ if (SystemTrayMenu *ourMenu = qobject_cast<SystemTrayMenu *>(menu)) {
|
|
+ m_action->setMenu(ourMenu->menu());
|
|
+ }
|
|
}
|
|
|
|
void SystemTrayMenuItem::setRole(QPlatformMenuItem::MenuRole role)
|
|
diff --git a/src/platformtheme/kdeplatformsystemtrayicon.h b/src/platformtheme/kdeplatformsystemtrayicon.h
|
|
index 3c1bbf71bc1e730754504a123c7bdfd8e1f19a24..e9e872e39e253b7cfbab6cb58cfbc7272e5046f5 100644
|
|
--- a/src/platformtheme/kdeplatformsystemtrayicon.h
|
|
+++ b/src/platformtheme/kdeplatformsystemtrayicon.h
|
|
@@ -82,7 +82,6 @@ public:
|
|
|
|
private:
|
|
quintptr m_tag;
|
|
- QPlatformMenu *m_menu;
|
|
QAction *m_action;
|
|
};
|
|
#endif
|
|
--
|
|
2.2.2
|
|
|