summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
}
};