summaryrefslogtreecommitdiff
path: root/src/dialogs
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2016-04-08 23:43:12 +0200
committerLiang Qi <liang.qi@theqtcompany.com>2016-04-08 23:43:12 +0200
commit34fbd06f1b678375817badf33e87a43705c8d8f7 (patch)
tree78e2980e23950e2bec9869c3ea54045399bbebf3 /src/dialogs
parent0b18f262816a165a900da6b764261c5c0553fa1e (diff)
parent4b77b044b3e0a27f9f7501e6a78121afc270619c (diff)
downloadqtquickcontrols-34fbd06f1b678375817badf33e87a43705c8d8f7.tar.gz
Merge remote-tracking branch 'origin/5.7' into dev
Change-Id: I8e90cb522fc01dd647ba0a66f2192d0713cd378d
Diffstat (limited to 'src/dialogs')
-rw-r--r--src/dialogs/Private/dialogsprivateplugin.cpp8
-rw-r--r--src/dialogs/dialogs.pro49
-rw-r--r--src/dialogs/images/checkers.pngbin149 -> 80 bytes
-rw-r--r--src/dialogs/images/window_border.pngbin588 -> 371 bytes
-rw-r--r--src/dialogs/plugin.cpp36
-rw-r--r--src/dialogs/qmldir1
6 files changed, 65 insertions, 29 deletions
diff --git a/src/dialogs/Private/dialogsprivateplugin.cpp b/src/dialogs/Private/dialogsprivateplugin.cpp
index 769dc892..e9b39e05 100644
--- a/src/dialogs/Private/dialogsprivateplugin.cpp
+++ b/src/dialogs/Private/dialogsprivateplugin.cpp
@@ -42,6 +42,13 @@
#include "qquickwritingsystemlistmodel_p.h"
#include "qquickfontlistmodel_p.h"
+static void initResources()
+{
+#ifdef QT_STATIC
+ Q_INIT_RESOURCE(qmake_QtQuick_Dialogs_Private);
+#endif
+}
+
QT_BEGIN_NAMESPACE
class QtQuick2DialogsPrivatePlugin : public QQmlExtensionPlugin
@@ -50,6 +57,7 @@ class QtQuick2DialogsPrivatePlugin : public QQmlExtensionPlugin
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface/1.0")
public:
+ QtQuick2DialogsPrivatePlugin(QObject *parent = 0) : QQmlExtensionPlugin(parent) { initResources(); }
virtual void registerTypes(const char *uri)
{
Q_ASSERT(QLatin1String(uri) == QLatin1String("QtQuick.Dialogs.Private"));
diff --git a/src/dialogs/dialogs.pro b/src/dialogs/dialogs.pro
index 9daaa6e6..f19283f2 100644
--- a/src/dialogs/dialogs.pro
+++ b/src/dialogs/dialogs.pro
@@ -80,29 +80,32 @@ ios|android|blackberry|winrt {
QT += quick-private gui gui-private core core-private qml qml-private
-# Create the resource file
-GENERATED_RESOURCE_FILE = $$OUT_PWD/dialogs.qrc
-
-RESOURCE_CONTENT = \
- "<RCC>" \
- "<qresource prefix=\"/QtQuick/Dialogs\">"
-
-for(resourcefile, DIALOGS_QML_FILES) {
- resourcefileabsolutepath = $$absolute_path($$resourcefile)
- relativepath_in = $$relative_path($$resourcefileabsolutepath, $$_PRO_FILE_PWD_)
- relativepath_out = $$relative_path($$resourcefileabsolutepath, $$OUT_PWD)
- RESOURCE_CONTENT += "<file alias=\"$$relativepath_in\">$$relativepath_out</file>"
+!static {
+ # Create the resource file
+ GENERATED_RESOURCE_FILE = $$OUT_PWD/dialogs.qrc
+
+ RESOURCE_CONTENT = \
+ "<RCC>" \
+ "<qresource prefix=\"/QtQuick/Dialogs\">"
+
+ for(resourcefile, DIALOGS_QML_FILES) {
+ resourcefileabsolutepath = $$absolute_path($$resourcefile)
+ relativepath_in = $$relative_path($$resourcefileabsolutepath, $$_PRO_FILE_PWD_)
+ relativepath_out = $$relative_path($$resourcefileabsolutepath, $$OUT_PWD)
+ RESOURCE_CONTENT += "<file alias=\"$$relativepath_in\">$$relativepath_out</file>"
+ }
+
+ RESOURCE_CONTENT += \
+ "</qresource>" \
+ "</RCC>"
+
+ write_file($$GENERATED_RESOURCE_FILE, RESOURCE_CONTENT)|error("Aborting.")
+
+ RESOURCES += $$GENERATED_RESOURCE_FILE
+ # In case of a debug build, deploy the QML files too
+ !qtquickcompiler:CONFIG(debug, debug|release): QML_FILES += $$DIALOGS_QML_FILES
+} else {
+ QML_FILES += $$DIALOGS_QML_FILES
}
-RESOURCE_CONTENT += \
- "</qresource>" \
- "</RCC>"
-
-write_file($$GENERATED_RESOURCE_FILE, RESOURCE_CONTENT)|error("Aborting.")
-
-RESOURCES += $$GENERATED_RESOURCE_FILE
-
-# In case of a debug build, deploy the QML files too
-!qtquickcompiler:CONFIG(debug, debug|release): QML_FILES += $$DIALOGS_QML_FILES
-
load(qml_plugin)
diff --git a/src/dialogs/images/checkers.png b/src/dialogs/images/checkers.png
index 458d33de..72cb9f03 100644
--- a/src/dialogs/images/checkers.png
+++ b/src/dialogs/images/checkers.png
Binary files differ
diff --git a/src/dialogs/images/window_border.png b/src/dialogs/images/window_border.png
index 431af854..23c011d0 100644
--- a/src/dialogs/images/window_border.png
+++ b/src/dialogs/images/window_border.png
Binary files differ
diff --git a/src/dialogs/plugin.cpp b/src/dialogs/plugin.cpp
index e6ce5a6f..1ab6b581 100644
--- a/src/dialogs/plugin.cpp
+++ b/src/dialogs/plugin.cpp
@@ -64,7 +64,11 @@ Q_LOGGING_CATEGORY(lcRegistration, "qt.quick.dialogs.registration")
static void initResources()
{
+#ifdef QT_STATIC
+ Q_INIT_RESOURCE(qmake_QtQuick_Dialogs);
+#else
Q_INIT_RESOURCE(dialogs);
+#endif
}
QT_BEGIN_NAMESPACE
@@ -90,7 +94,7 @@ class QtQuick2DialogsPlugin : public QQmlExtensionPlugin
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface/1.0")
public:
- QtQuick2DialogsPlugin() : QQmlExtensionPlugin(), m_useResources(true) { }
+ QtQuick2DialogsPlugin() : QQmlExtensionPlugin(), m_useResources(true) { initResources(); }
virtual void initializeEngine(QQmlEngine *engine, const char * uri) {
qCDebug(lcRegistration) << uri << m_decorationComponentUrl;
@@ -99,16 +103,18 @@ public:
}
virtual void registerTypes(const char *uri) {
- initResources();
-
Q_ASSERT(QLatin1String(uri) == QLatin1String("QtQuick.Dialogs"));
bool hasTopLevelWindows = QGuiApplicationPrivate::platformIntegration()->
hasCapability(QPlatformIntegration::MultipleWindows);
qCDebug(lcRegistration) << uri << "can use top-level windows?" << hasTopLevelWindows;
QDir qmlDir(baseUrl().toLocalFile());
QDir widgetsDir(baseUrl().toLocalFile());
+#ifndef QT_STATIC
widgetsDir.cd("../PrivateWidgets");
-
+#endif
+#ifdef QT_STATIC
+ m_useResources = false;
+#else
#ifndef ALWAYS_LOAD_FROM_RESOURCES
// If at least one file was actually installed, then use installed qml files instead of resources.
// This makes debugging and incremental development easier, whereas the "normal" installation
@@ -116,10 +122,14 @@ public:
if (qmlDir.exists(QString("DefaultFileDialog.qml")))
m_useResources = false;
#endif
+#endif
m_decorationComponentUrl = m_useResources ?
QUrl("qrc:/QtQuick/Dialogs/qml/DefaultWindowDecoration.qml") :
+#ifndef QT_STATIC
QUrl::fromLocalFile(qmlDir.filePath(QString("qml/DefaultWindowDecoration.qml")));
-
+#else
+ QUrl("qrc:/qt-project.org/imports/QtQuick/Dialogs/qml/DefaultWindowDecoration.qml");
+#endif
// Prefer the QPA dialog helpers if the platform supports them.
// Else if there is a QWidget-based implementation, check whether it's
// possible to instantiate it from Qt Quick.
@@ -170,7 +180,11 @@ public:
qmlRegisterType<QQuickDialog>(uri, 1, 2, "AbstractDialog"); // implementation wrapper
QUrl dialogQmlPath = m_useResources ?
QUrl("qrc:/QtQuick/Dialogs/DefaultDialogWrapper.qml") :
+#ifndef QT_STATIC
QUrl::fromLocalFile(qmlDir.filePath("DefaultDialogWrapper.qml"));
+#else
+ QUrl("qrc:/qt-project.org/imports/QtQuick/Dialogs/DefaultDialogWrapper.qml");
+#endif
qCDebug(lcRegistration) << " registering" << dialogQmlPath << "as Dialog";
qmlRegisterType(dialogQmlPath, uri, 1, 2, "Dialog");
}
@@ -217,7 +231,12 @@ protected:
QCoreApplication::instance()->inherits("QApplication")) {
QUrl dialogQmlPath = m_useResources ?
QUrl(QString("qrc:/QtQuick/Dialogs/Widget%1.qml").arg(qmlName)) :
- QUrl::fromLocalFile(qmlDir.filePath(QString("Widget%1.qml").arg(qmlName)));
+#ifndef QT_STATIC
+ QUrl::fromLocalFile(qmlDir.filePath(QString("Widget%1.qml").arg(qmlName)));
+#else
+ QUrl(QString("qrc:/qt-project.org/imports/QtQuick/Dialogs/Widget%1.qml").arg(qmlName));
+ Q_UNUSED(qmlDir);
+#endif
if (qmlRegisterType(dialogQmlPath, uri, versionMajor, versionMinor, qmlName) >= 0) {
qCDebug(lcRegistration) << " registering" << qmlName << " as " << dialogQmlPath;
return true;
@@ -235,7 +254,12 @@ protected:
qmlRegisterType<WrapperType>(uri, versionMajor, versionMinor, abstractTypeName);
QUrl dialogQmlPath = m_useResources ?
QUrl(QString("qrc:/QtQuick/Dialogs/Default%1.qml").arg(qmlName)) :
+#ifndef QT_STATIC
QUrl::fromLocalFile(qmlDir.filePath(QString("Default%1.qml").arg(qmlName)));
+#else
+ QUrl(QString("qrc:/qt-project.org/imports/QtQuick/Dialogs/Default%1.qml").arg(qmlName));
+ Q_UNUSED(qmlDir);
+#endif
qCDebug(lcRegistration) << " registering" << qmlName << " as " << dialogQmlPath;
qmlRegisterType(dialogQmlPath, uri, versionMajor, versionMinor, qmlName);
}
diff --git a/src/dialogs/qmldir b/src/dialogs/qmldir
index 03186563..e94f11dd 100644
--- a/src/dialogs/qmldir
+++ b/src/dialogs/qmldir
@@ -6,3 +6,4 @@ depends Qt.labs.folderlistmodel 1.0
depends Qt.labs.settings 1.0
depends QtQuick.Dialogs.Private 1.0
depends QtQuick.Controls 1.3
+depends QtQuick.PrivateWidgets 1.1