diff options
author | Andy Shaw <andy.shaw@qt.io> | 2020-01-14 10:52:13 +0100 |
---|---|---|
committer | Andy Shaw <andy.shaw@qt.io> | 2020-01-15 12:37:02 +0100 |
commit | 9603570d42f3ae28ac2063a19b757531c7d2941e (patch) | |
tree | 334641ebdb8a2b75aeb7485a3638fe29ee6bf430 | |
parent | a7beb6fca24ca639f2b8c128c15170d46116fd1e (diff) | |
download | qtquickcontrols-9603570d42f3ae28ac2063a19b757531c7d2941e.tar.gz |
Android: Look in the correct location for the supporting QML files
Change-Id: I99db8554f88d39a2e9376b50bb1a6f8a334cf461
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
-rw-r--r-- | src/dialogs/plugin.cpp | 25 | ||||
-rw-r--r-- | src/extras/plugin.cpp | 4 |
2 files changed, 25 insertions, 4 deletions
diff --git a/src/dialogs/plugin.cpp b/src/dialogs/plugin.cpp index b31d233e..601412d3 100644 --- a/src/dialogs/plugin.cpp +++ b/src/dialogs/plugin.cpp @@ -109,8 +109,14 @@ public: m_useResources = false; #endif #endif +#ifdef Q_OS_ANDROID + const QString prefix = QLatin1String("qrc:/android_rcc_bundle/qml/"); +#else + const QString prefix = QLatin1String("qrc:/"); +#endif + QQuickAbstractDialog::m_decorationComponentUrl = m_useResources ? - QUrl("qrc:/QtQuick/Dialogs/qml/DefaultWindowDecoration.qml") : + QUrl(prefix + QString("QtQuick/Dialogs/qml/DefaultWindowDecoration.qml")) : #ifndef QT_STATIC QUrl::fromLocalFile(qmlDir.filePath(QString("qml/DefaultWindowDecoration.qml"))); #else @@ -165,7 +171,7 @@ public: // @uri QtQuick.Dialogs.AbstractDialog qmlRegisterType<QQuickDialog1>(uri, 1, 2, "AbstractDialog"); // implementation wrapper QUrl dialogQmlPath = m_useResources ? - QUrl("qrc:/QtQuick/Dialogs/DefaultDialogWrapper.qml") : + QUrl(prefix + QString("QtQuick/Dialogs/DefaultDialogWrapper.qml")) : #ifndef QT_STATIC QUrl::fromLocalFile(qmlDir.filePath("DefaultDialogWrapper.qml")); #else @@ -209,6 +215,12 @@ protected: mobileTouchPlatform = true; #endif +#ifdef Q_OS_ANDROID + const QString prefix = QLatin1String("qrc:/android_rcc_bundle/qml/"); +#else + const QString prefix = QLatin1String("qrc:/"); +#endif + // If there is a qmldir and we have a QApplication instance (as opposed to a // widget-free QGuiApplication), and this isn't a mobile touch-based platform, // assume that the widget-based dialog will work. Otherwise an application developer @@ -217,7 +229,7 @@ protected: if (!mobileTouchPlatform && hasTopLevelWindows && widgetsDir.exists("qmldir") && QCoreApplication::instance()->inherits("QApplication")) { QUrl dialogQmlPath = m_useResources ? - QUrl(QString("qrc:/QtQuick/Dialogs/Widget%1.qml").arg(qmlName)) : + QUrl(prefix + QString("QtQuick/Dialogs/Widget%1.qml").arg(qmlName)) : #ifndef QT_STATIC QUrl::fromLocalFile(qmlDir.filePath(QString("Widget%1.qml").arg(qmlName))); #else @@ -235,12 +247,17 @@ protected: template <class WrapperType> void registerQmlImplementation(const QDir &qmlDir, const char *qmlName, const char *uri , int versionMajor, int versionMinor) { +#ifdef Q_OS_ANDROID + const QString prefix = QLatin1String("qrc:/android_rcc_bundle/qml/"); +#else + const QString prefix = QLatin1String("qrc:/"); +#endif qCDebug(lcRegistration) << "Register QML version for" << qmlName << "with uri:" << uri; QByteArray abstractTypeName = QByteArray("Abstract") + qmlName; qmlRegisterType<WrapperType>(uri, versionMajor, versionMinor, abstractTypeName); QUrl dialogQmlPath = m_useResources ? - QUrl(QString("qrc:/QtQuick/Dialogs/Default%1.qml").arg(qmlName)) : + QUrl(prefix + QString("QtQuick/Dialogs/Default%1.qml").arg(qmlName)) : #ifndef QT_STATIC QUrl::fromLocalFile(qmlDir.filePath(QString("Default%1.qml").arg(qmlName))); #else diff --git a/src/extras/plugin.cpp b/src/extras/plugin.cpp index 68d6ca16..794e93e2 100644 --- a/src/extras/plugin.cpp +++ b/src/extras/plugin.cpp @@ -73,7 +73,11 @@ QtQuickExtrasPlugin::QtQuickExtrasPlugin(QObject *parent) : void QtQuickExtrasPlugin::registerTypes(const char *uri) { #ifndef QT_STATIC +# ifdef Q_OS_ANDROID + const QString prefix = QLatin1String("qrc:/android_rcc_bundle/qml/QtQuick/Extras"); +# else const QString prefix = baseUrl().toString(); +# endif // Q_OS_ANDROID #else const QString prefix = "qrc:/qt-project.org/imports/QtQuick/Extras"; #endif |