aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/imports/controls/controls.pri4
-rw-r--r--src/imports/controls/controls.pro6
-rw-r--r--src/imports/controls/qtlabscontrolsplugin.cpp6
3 files changed, 14 insertions, 2 deletions
diff --git a/src/imports/controls/controls.pri b/src/imports/controls/controls.pri
index 6b3c4fc9..16ad7f24 100644
--- a/src/imports/controls/controls.pri
+++ b/src/imports/controls/controls.pri
@@ -1,4 +1,4 @@
-QML_FILES = \
+QML_CONTROLS = \
ApplicationWindow.qml \
BusyIndicator.qml \
Button.qml \
@@ -32,3 +32,5 @@ QML_FILES = \
ToolBar.qml \
ToolButton.qml \
Tumbler.qml
+
+!qtquickcompiler: QML_FILES += $$QML_CONTROLS
diff --git a/src/imports/controls/controls.pro b/src/imports/controls/controls.pro
index 30f8e223..0ccdf5a0 100644
--- a/src/imports/controls/controls.pro
+++ b/src/imports/controls/controls.pro
@@ -27,5 +27,11 @@ RESOURCES += \
include(controls.pri)
include(designer/designer.pri)
+qtquickcompiler {
+ qmlfiles.prefix = /qt-project.org/imports/Qt/labs/controls
+ qmlfiles.files += $$QML_CONTROLS
+ RESOURCES += qmlfiles
+}
+
CONFIG += no_cxx_module
load(qml_plugin)
diff --git a/src/imports/controls/qtlabscontrolsplugin.cpp b/src/imports/controls/qtlabscontrolsplugin.cpp
index e075898c..666e230f 100644
--- a/src/imports/controls/qtlabscontrolsplugin.cpp
+++ b/src/imports/controls/qtlabscontrolsplugin.cpp
@@ -36,6 +36,7 @@
#include <QtQml/qqmlextensionplugin.h>
#include <QtCore/qurl.h>
+#include <QtCore/qfile.h>
#include <QtCore/qcoreapplication.h>
#include <QtLabsTemplates/private/qquickabstractbutton_p.h>
@@ -83,7 +84,10 @@ void QtLabsControlsPlugin::registerTypes(const char *uri)
qmlRegisterType<QQuickControl>(uri, 1, 0, "Control");
QQuickStyleSelector selector;
- selector.setBaseUrl(baseUrl());
+ if (QFile::exists(QLatin1String(":/qt-project.org/imports/Qt/labs/controls/ApplicationWindow.qml")))
+ selector.setBaseUrl(QUrl(QLatin1String("qrc:/qt-project.org/imports/Qt/labs/controls")));\
+ else
+ selector.setBaseUrl(baseUrl());
qmlRegisterType(selector.select(QStringLiteral("/ApplicationWindow.qml")), uri, 1, 0, "ApplicationWindow");
qmlRegisterType(selector.select(QStringLiteral("/BusyIndicator.qml")), uri, 1, 0, "BusyIndicator");