Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qcocoasystemtrayicon.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// Copyright (C) 2012 Klaralvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
3// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4// Qt-Security score:significant reason:default
5
6#ifndef QCOCOASYSTEMTRAYICON_P_H
7#define QCOCOASYSTEMTRAYICON_P_H
8
9#include <QtCore/qglobal.h>
10#include <QtGui/qtguiglobal.h>
11
12#if QT_CONFIG(systemtrayicon)
13
14#include <QtCore/qstring.h>
15#include <QtCore/private/qcore_mac_p.h>
16
17#include <QtGui/qpa/qplatformsystemtrayicon.h>
18
19#include "qcocoamenu.h"
20
21QT_FORWARD_DECLARE_CLASS(QCocoaSystemTrayIcon);
22
23QT_DECLARE_NAMESPACED_OBJC_INTERFACE(QStatusItemDelegate, NSObject <NSUserNotificationCenterDelegate>
24- (instancetype)initWithSysTray:(QCocoaSystemTrayIcon *)platformSystemTray;
25@property (nonatomic, assign) QCocoaSystemTrayIcon *platformSystemTray;
26)
27
28Q_FORWARD_DECLARE_OBJC_CLASS(NSStatusItem);
29
30QT_BEGIN_NAMESPACE
31
32class Q_GUI_EXPORT QCocoaSystemTrayIcon : public QPlatformSystemTrayIcon
33{
34public:
35 QCocoaSystemTrayIcon() {}
36
37 void init() override;
38 void cleanup() override;
39 void updateIcon(const QIcon &icon) override;
40 void updateToolTip(const QString &toolTip) override;
41 void updateMenu(QPlatformMenu *menu) override;
42 QRect geometry() const override;
43 void showMessage(const QString &title, const QString &msg,
44 const QIcon& icon, MessageIcon iconType, int msecs) override;
45
46 bool isSystemTrayAvailable() const override;
47 bool supportsMessages() const override;
48
49 void emitActivated();
50
51private:
52 NSStatusItem *m_statusItem = nullptr;
53 QStatusItemDelegate *m_delegate = nullptr;
54};
55
56QT_END_NAMESPACE
57
58#endif // QT_NO_SYSTEMTRAYICON
59
60#endif // QCOCOASYSTEMTRAYICON_P_H
static bool heightCompareFunction(QSize a, QSize b)
#define NSUserNotificationCenter
static QList< QSize > sortByHeight(const QList< QSize > &sizes)
#define NSUserNotification