From 07490d5610f7a18bbf50f3a5d118c33fb8e88f5d Mon Sep 17 00:00:00 2001 From: Paul Olav Tvete Date: Mon, 30 Jan 2017 15:23:26 +0100 Subject: Fix feature dependencies Build with -no-feature-filedialog, -no-feature-messagebox, -no-feature-colordialog, and -no-feature-fontdialog Change-Id: I0d63451a546014400f051645460a1fc1362eb753 Reviewed-by: J-P Nurmi Reviewed-by: Shawn Rutledge --- src/widgets/qquickqfiledialog_p.h | 4 +++ src/widgets/widgets.pro | 60 +++++++++++++++++++++++++++------------ src/widgets/widgetsplugin.cpp | 9 +++++- 3 files changed, 54 insertions(+), 19 deletions(-) diff --git a/src/widgets/qquickqfiledialog_p.h b/src/widgets/qquickqfiledialog_p.h index fef39584..9e20ae88 100644 --- a/src/widgets/qquickqfiledialog_p.h +++ b/src/widgets/qquickqfiledialog_p.h @@ -54,6 +54,8 @@ #include #include "../dialogs/qquickabstractfiledialog_p.h" +#if QT_CONFIG(filedialog) + QT_BEGIN_NAMESPACE class QQuickQFileDialog : public QQuickAbstractFileDialog @@ -104,4 +106,6 @@ QT_END_NAMESPACE QML_DECLARE_TYPE(QQuickQFileDialog *) +#endif // QT_CONFIG(filedialog) + #endif // QQUICKQFILEDIALOG_P_H diff --git a/src/widgets/widgets.pro b/src/widgets/widgets.pro index 2e3c8164..04bfd21b 100644 --- a/src/widgets/widgets.pro +++ b/src/widgets/widgets.pro @@ -5,30 +5,54 @@ TARGET = widgetsplugin TARGETPATH = QtQuick/PrivateWidgets IMPORT_VERSION = 1.1 +QT += quick-private gui-private core-private qml-private widgets + SOURCES += \ - qquickqmessagebox.cpp \ - ../dialogs/qquickabstractmessagedialog.cpp \ - qquickqfiledialog.cpp \ - ../dialogs/qquickabstractfiledialog.cpp \ - qquickqcolordialog.cpp \ - ../dialogs/qquickabstractcolordialog.cpp \ - qquickqfontdialog.cpp \ - ../dialogs/qquickabstractfontdialog.cpp \ ../dialogs/qquickabstractdialog.cpp \ widgetsplugin.cpp HEADERS += \ - qquickqmessagebox_p.h \ - qmessageboxhelper_p.h \ - ../dialogs/qquickabstractmessagedialog_p.h \ - qquickqfiledialog_p.h \ - ../dialogs/qquickabstractfiledialog_p.h \ - qquickqcolordialog_p.h \ - ../dialogs/qquickabstractcolordialog_p.h \ - qquickqfontdialog_p.h \ - ../dialogs/qquickabstractfontdialog_p.h \ ../dialogs/qquickabstractdialog_p.h -QT += quick-private gui-private core-private qml-private widgets +qtConfig(messagebox) { + HEADERS += \ + qquickqmessagebox_p.h \ + qmessageboxhelper_p.h \ + ../dialogs/qquickabstractmessagedialog_p.h + + SOURCES += \ + qquickqmessagebox.cpp \ + ../dialogs/qquickabstractmessagedialog.cpp +} + +qtConfig(filedialog) { + SOURCES += \ + qquickqfiledialog.cpp \ + ../dialogs/qquickabstractfiledialog.cpp + + HEADERS += \ + qquickqfiledialog_p.h \ + ../dialogs/qquickabstractfiledialog_p.h +} + +qtConfig(colordialog) { + SOURCES += \ + qquickqcolordialog.cpp \ + ../dialogs/qquickabstractcolordialog.cpp + + HEADERS += \ + qquickqcolordialog_p.h \ + ../dialogs/qquickabstractcolordialog_p.h +} + +qtConfig(fontdialog) { + SOURCES += \ + qquickqfontdialog.cpp \ + ../dialogs/qquickabstractfontdialog.cpp + + HEADERS += \ + qquickqfontdialog_p.h \ + ../dialogs/qquickabstractfontdialog_p.h +} load(qml_plugin) diff --git a/src/widgets/widgetsplugin.cpp b/src/widgets/widgetsplugin.cpp index 9ed0e6bc..65233756 100644 --- a/src/widgets/widgetsplugin.cpp +++ b/src/widgets/widgetsplugin.cpp @@ -82,11 +82,18 @@ public: virtual void registerTypes(const char *uri) { Q_ASSERT(QLatin1String(uri) == QLatin1String("QtQuick.PrivateWidgets")); - +#if QT_CONFIG(messagebox) qmlRegisterType(uri, 1, 1, "QtMessageDialog"); +#endif +#if QT_CONFIG(filedialog) qmlRegisterType(uri, 1, 0, "QtFileDialog"); +#endif +#if QT_CONFIG(colordialog) qmlRegisterType(uri, 1, 0, "QtColorDialog"); +#endif +#if QT_CONFIG(fontdialog) qmlRegisterType(uri, 1, 1, "QtFontDialog"); +#endif } }; -- cgit v1.2.1