From a75173de4b70ee83fb6e845b59f3c9caf880a376 Mon Sep 17 00:00:00 2001 From: Paul Olav Tvete Date: Wed, 8 Mar 2017 10:48:47 +0100 Subject: Build fix for -no-feature-systemtrayicon Change-Id: If991e2311f37c1977cdf2a913b3f022e5f999f5f Reviewed-by: J-P Nurmi --- src/imports/platform/platform.pri | 14 ++++++++++---- src/imports/platform/qquickplatformmenu.cpp | 9 ++++++++- src/imports/platform/qquickplatformsystemtrayicon_p.h | 2 ++ src/imports/platform/qtlabsplatformplugin.cpp | 7 +++++-- .../platform/widgets/qwidgetplatformsystemtrayicon_p.h | 2 ++ src/imports/platform/widgets/widgets.pri | 11 +++++++---- 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 #include @@ -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 #include +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(); qRegisterMetaType(); +#if QT_CONFIG(systemtrayicon) qmlRegisterType(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 +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 += \ -- cgit v1.2.3