aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmltypeloader.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2020-04-17 12:13:25 +0200
committerUlf Hermann <ulf.hermann@qt.io>2020-06-09 08:01:03 +0200
commit9752ad5af7c7ae188250ab5b8b65c74f70d57b41 (patch)
tree19c1b9a8ed6444b626bba339679e1788562e6569 /src/qml/qml/qqmltypeloader.cpp
parent1d510acc29dd2cebfb72364b8b933287f54c5579 (diff)
Add methods to programatically insert qmldir import statements
We need this for controls2 to select the style at runtime. Change-Id: I23b6ab962a647b519d5af019eade27f89e1e4e00 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/qml/qqmltypeloader.cpp')
-rw-r--r--src/qml/qml/qqmltypeloader.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp
index 49b3d7ad93..1b7993af61 100644
--- a/src/qml/qml/qqmltypeloader.cpp
+++ b/src/qml/qml/qqmltypeloader.cpp
@@ -712,14 +712,20 @@ void QQmlTypeLoader::Blob::dependencyComplete(QQmlDataBlob *blob)
bool QQmlTypeLoader::Blob::loadImportDependencies(PendingImportPtr currentImport, const QString &qmldirUri, QList<QQmlError> *errors)
{
const QQmlTypeLoaderQmldirContent qmldir = typeLoader()->qmldirContent(qmldirUri);
- for (const QString &implicitImports: qmldir.imports()) {
+ const QQmlTypeModule *module = QQmlMetaType::typeModule(currentImport->uri,
+ currentImport->version);
+ const QStringList implicitImports = module ? (module->imports() + qmldir.imports())
+ : qmldir.imports();
+ for (const QString &implicitImport : implicitImports) {
auto dependencyImport = std::make_shared<PendingImport>();
- dependencyImport->uri = implicitImports;
+ dependencyImport->uri = implicitImport;
dependencyImport->qualifier = currentImport->qualifier;
dependencyImport->version = currentImport->version;
if (!addImport(dependencyImport, errors))
return false;
}
+
+
return true;
}