diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-10-06 15:45:05 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-10-08 18:54:29 +0200 |
commit | 04bc9d83f22a7266fb0caf53c2c3da0d9b06fef4 (patch) | |
tree | 883b9e3eba194efa05dbab3592fca8f1273b844b /src/qmlcompiler | |
parent | e8007671d4ec6d791cb337b297f2beb7e5300929 (diff) |
Allow optional imports in qmldir files
This is useful for modules that select their imports at runtime using
qmlRegisterModuleImport(). We can list all possible variants as optional
imports so that tools can see what types might be available.
Task-number: QTBUG-87130
Change-Id: I8a37bdde79aef3619fd1f05e5ea6781d521afa88
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qmlcompiler')
-rw-r--r-- | src/qmlcompiler/qqmljsimporter.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/qmlcompiler/qqmljsimporter.cpp b/src/qmlcompiler/qqmljsimporter.cpp index 73d7637d79..e33538b653 100644 --- a/src/qmlcompiler/qqmljsimporter.cpp +++ b/src/qmlcompiler/qqmljsimporter.cpp @@ -89,14 +89,15 @@ void QQmlJSImporter::readQmltypes( for (const QString &dependency : qAsConst(dependencyStrings)) { const auto blank = dependency.indexOf(u' '); if (blank < 0) { - dependencies->append(QQmlDirParser::Import(dependency, {}, false)); + dependencies->append(QQmlDirParser::Import(dependency, {}, + QQmlDirParser::Import::Default)); continue; } const QString module = dependency.left(blank); const QString versionString = dependency.mid(blank + 1).trimmed(); if (versionString == QStringLiteral("auto")) { - dependencies->append(QQmlDirParser::Import(module, {}, true)); + dependencies->append(QQmlDirParser::Import(module, {}, QQmlDirParser::Import::Auto)); continue; } @@ -107,7 +108,8 @@ void QQmlJSImporter::readQmltypes( : QTypeRevision::fromVersion(versionString.left(dot).toUShort(), versionString.mid(dot + 1).toUShort()); - dependencies->append(QQmlDirParser::Import(module, version, false)); + dependencies->append(QQmlDirParser::Import(module, version, + QQmlDirParser::Import::Default)); } } @@ -174,7 +176,7 @@ void QQmlJSImporter::importDependencies( for (auto const &import : qAsConst(import.imports)) { importHelper(import.module, types, prefix, - import.isAutoImport ? version : import.version); + (import.flags & QQmlDirParser::Import::Auto) ? version : import.version); } } |