aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/imports/platform/platform.pri14
-rw-r--r--src/imports/platform/qquickplatformmenu.cpp9
-rw-r--r--src/imports/platform/qquickplatformsystemtrayicon_p.h2
-rw-r--r--src/imports/platform/qtlabsplatformplugin.cpp7
-rw-r--r--src/imports/platform/widgets/qwidgetplatformsystemtrayicon_p.h2
-rw-r--r--src/imports/platform/widgets/widgets.pri11
6 files changed, 34 insertions, 11 deletions
diff --git a/src/imports/platform/platform.pri b/src/imports/platform/platform.pri
index 1e300251..2227d89c 100644
--- a/src/imports/platform/platform.pri
+++ b/src/imports/platform/platform.pri
@@ -11,8 +11,7 @@ HEADERS += \
$$PWD/qquickplatformmenuitemgroup_p.h \
$$PWD/qquickplatformmenuseparator_p.h \
$$PWD/qquickplatformmessagedialog_p.h \
- $$PWD/qquickplatformstandardpaths_p.h \
- $$PWD/qquickplatformsystemtrayicon_p.h
+ $$PWD/qquickplatformstandardpaths_p.h
SOURCES += \
$$PWD/qquickplatformcolordialog.cpp \
@@ -27,5 +26,12 @@ SOURCES += \
$$PWD/qquickplatformmenuitemgroup.cpp \
$$PWD/qquickplatformmenuseparator.cpp \
$$PWD/qquickplatformmessagedialog.cpp \
- $$PWD/qquickplatformstandardpaths.cpp \
- $$PWD/qquickplatformsystemtrayicon.cpp
+ $$PWD/qquickplatformstandardpaths.cpp
+
+
+qtConfig(systemtrayicon) {
+ HEADERS += \
+ $$PWD/qquickplatformsystemtrayicon_p.h
+ SOURCES += \
+ $$PWD/qquickplatformsystemtrayicon.cpp
+}
diff --git a/src/imports/platform/qquickplatformmenu.cpp b/src/imports/platform/qquickplatformmenu.cpp
index 34a114f5..fbef8b8d 100644
--- a/src/imports/platform/qquickplatformmenu.cpp
+++ b/src/imports/platform/qquickplatformmenu.cpp
@@ -38,7 +38,6 @@
#include "qquickplatformmenubar_p.h"
#include "qquickplatformmenuitem_p.h"
#include "qquickplatformiconloader_p.h"
-#include "qquickplatformsystemtrayicon_p.h"
#include <QtCore/qloggingcategory.h>
#include <QtGui/qicon.h>
@@ -54,6 +53,10 @@
#include "widgets/qwidgetplatform_p.h"
+#if QT_CONFIG(systemtrayicon)
+#include "qquickplatformsystemtrayicon_p.h"
+#endif
+
QT_BEGIN_NAMESPACE
/*!
@@ -173,8 +176,10 @@ QPlatformMenu * QQuickPlatformMenu::create()
m_handle = m_menuBar->handle()->createMenu();
else if (m_parentMenu && m_parentMenu->handle())
m_handle = m_parentMenu->handle()->createSubMenu();
+#if QT_CONFIG(systemtrayicon)
else if (m_systemTrayIcon && m_systemTrayIcon->handle())
m_handle = m_systemTrayIcon->handle()->createMenu();
+#endif
// TODO: implement ^
// - QCocoaMenuBar::createMenu()
@@ -227,8 +232,10 @@ void QQuickPlatformMenu::sync()
if (m_menuBar && m_menuBar->handle())
m_menuBar->handle()->syncMenu(m_handle);
+#if QT_CONFIG(systemtrayicon)
else if (m_systemTrayIcon && m_systemTrayIcon->handle())
m_systemTrayIcon->handle()->updateMenu(m_handle);
+#endif
for (QQuickPlatformMenuItem *item : m_items)
item->sync();
diff --git a/src/imports/platform/qquickplatformsystemtrayicon_p.h b/src/imports/platform/qquickplatformsystemtrayicon_p.h
index c1eddcda..7aa07512 100644
--- a/src/imports/platform/qquickplatformsystemtrayicon_p.h
+++ b/src/imports/platform/qquickplatformsystemtrayicon_p.h
@@ -53,6 +53,8 @@
#include <QtQml/qqmlparserstatus.h>
#include <QtQml/qqml.h>
+QT_REQUIRE_CONFIG(systemtrayicon);
+
QT_BEGIN_NAMESPACE
class QQuickPlatformMenu;
diff --git a/src/imports/platform/qtlabsplatformplugin.cpp b/src/imports/platform/qtlabsplatformplugin.cpp
index 6a1d5210..bcb9ac98 100644
--- a/src/imports/platform/qtlabsplatformplugin.cpp
+++ b/src/imports/platform/qtlabsplatformplugin.cpp
@@ -52,8 +52,9 @@
#include "qquickplatformmenuseparator_p.h"
#include "qquickplatformstandardpaths_p.h"
-
-#include "qquickplatformsystemtrayicon_p.h"
+#if QT_CONFIG(systemtrayicon)
+# include "qquickplatformsystemtrayicon_p.h"
+#endif
Q_DECLARE_METATYPE(QStandardPaths::StandardLocation)
Q_DECLARE_METATYPE(QStandardPaths::LocateOptions)
@@ -107,7 +108,9 @@ void QtLabsPlatformPlugin::registerTypes(const char *uri)
qRegisterMetaType<QStandardPaths::StandardLocation>();
qRegisterMetaType<QStandardPaths::LocateOptions>();
+#if QT_CONFIG(systemtrayicon)
qmlRegisterType<QQuickPlatformSystemTrayIcon>(uri, 1, 0, "SystemTrayIcon");
+#endif
}
QT_END_NAMESPACE
diff --git a/src/imports/platform/widgets/qwidgetplatformsystemtrayicon_p.h b/src/imports/platform/widgets/qwidgetplatformsystemtrayicon_p.h
index 90abf97e..11ea5377 100644
--- a/src/imports/platform/widgets/qwidgetplatformsystemtrayicon_p.h
+++ b/src/imports/platform/widgets/qwidgetplatformsystemtrayicon_p.h
@@ -50,6 +50,8 @@
#include <QtGui/qpa/qplatformsystemtrayicon.h>
+QT_REQUIRE_CONFIG(systemtrayicon);
+
QT_BEGIN_NAMESPACE
class QSystemTrayIcon;
diff --git a/src/imports/platform/widgets/widgets.pri b/src/imports/platform/widgets/widgets.pri
index 84efd930..54ad7187 100644
--- a/src/imports/platform/widgets/widgets.pri
+++ b/src/imports/platform/widgets/widgets.pri
@@ -2,11 +2,14 @@ QT += widgets
DEPENDPATH += $$PWD
HEADERS += \
- $$PWD/qwidgetplatform_p.h \
- $$PWD/qwidgetplatformsystemtrayicon_p.h
+ $$PWD/qwidgetplatform_p.h
-SOURCES += \
- $$PWD/qwidgetplatformsystemtrayicon.cpp
+qtConfig(systemtrayicon) {
+ HEADERS += \
+ $$PWD/qwidgetplatformsystemtrayicon_p.h
+ SOURCES += \
+ $$PWD/qwidgetplatformsystemtrayicon.cpp
+}
qtConfig(colordialog) | qtConfig(filedialog) | qtConfig(fontdialog) | qtConfig(messagebox) {
HEADERS += \