summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoasystemtrayicon.h
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@qt.io>2020-03-16 18:41:27 +0100
committerSimon Hausmann <simon.hausmann@qt.io>2020-03-16 18:41:27 +0100
commitff922e7b87de147797fbd759167878aec7625f0c (patch)
treea326819f23e2421723f144522f9362ba608d6bb1 /src/plugins/platforms/cocoa/qcocoasystemtrayicon.h
parente464e1eb8eb63c631fb0916c3ea4540a88d8aad3 (diff)
parent75f52bd0ddc4afbd181c14b310d256e3507052d6 (diff)
Merge remote-tracking branch 'origin/5.15' into dev
Conflicts: src/corelib/kernel/qmetatype.cpp Change-Id: I88eb0d3e9c9a38abf7241a51e370c655ae74e38a
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoasystemtrayicon.h')
-rw-r--r--src/plugins/platforms/cocoa/qcocoasystemtrayicon.h21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.h b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.h
index 738c40aba6..7999438ca5 100644
--- a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.h
+++ b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.h
@@ -49,14 +49,23 @@
#include "QtCore/qstring.h"
#include "QtGui/qpa/qplatformsystemtrayicon.h"
-QT_BEGIN_NAMESPACE
+#include "qcocoamenu.h"
+
+QT_FORWARD_DECLARE_CLASS(QCocoaSystemTrayIcon);
+
+@interface QT_MANGLE_NAMESPACE(QStatusItemDelegate) : NSObject <NSUserNotificationCenterDelegate>
+- (instancetype)initWithSysTray:(QCocoaSystemTrayIcon *)platformSystemTray;
+@property (nonatomic, assign) QCocoaSystemTrayIcon *platformSystemTray;
+@end
-class QSystemTrayIconSys;
+QT_NAMESPACE_ALIAS_OBJC_CLASS(QStatusItemDelegate);
+
+QT_BEGIN_NAMESPACE
class Q_GUI_EXPORT QCocoaSystemTrayIcon : public QPlatformSystemTrayIcon
{
public:
- QCocoaSystemTrayIcon() : m_sys(nullptr) {}
+ QCocoaSystemTrayIcon() {}
void init() override;
void cleanup() override;
@@ -70,8 +79,12 @@ public:
bool isSystemTrayAvailable() const override;
bool supportsMessages() const override;
+ void statusItemClicked();
+
private:
- QSystemTrayIconSys *m_sys;
+ NSStatusItem *m_statusItem = nullptr;
+ QStatusItemDelegate *m_delegate = nullptr;
+ QCocoaMenu *m_menu = nullptr;
};
QT_END_NAMESPACE