summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@qt.io>2017-01-30 15:23:26 +0100
committerPaul Olav Tvete <paul.tvete@qt.io>2017-02-06 07:38:30 +0000
commit07490d5610f7a18bbf50f3a5d118c33fb8e88f5d (patch)
treed97d5f1348ed4fbea7e95a94a20ca529f8f748f1
parent27da25e24ed44008f7ba303bb7fe8291aa43fd14 (diff)
downloadqtquickcontrols-07490d5610f7a18bbf50f3a5d118c33fb8e88f5d.tar.gz
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 <jpnurmi@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
-rw-r--r--src/widgets/qquickqfiledialog_p.h4
-rw-r--r--src/widgets/widgets.pro60
-rw-r--r--src/widgets/widgetsplugin.cpp9
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 <QFileDialog>
#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<QQuickQMessageBox>(uri, 1, 1, "QtMessageDialog");
+#endif
+#if QT_CONFIG(filedialog)
qmlRegisterType<QQuickQFileDialog>(uri, 1, 0, "QtFileDialog");
+#endif
+#if QT_CONFIG(colordialog)
qmlRegisterType<QQuickQColorDialog>(uri, 1, 0, "QtColorDialog");
+#endif
+#if QT_CONFIG(fontdialog)
qmlRegisterType<QQuickQFontDialog>(uri, 1, 1, "QtFontDialog");
+#endif
}
};