From 3673ced26e15ef81e6110627979828b7b7fa95e1 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 1 Nov 2016 15:20:22 +0100 Subject: [PATCH] QmlJS: Get version numbers from components If we have a pure QML plugin with a qmldir file, then the code model ends up without a version number. This is bad, since the version is required for graphical tooling. What we can do is to take the highest version number from all components that are defined in the plugin. Change-Id: Idb4206201efac91250100740e287676031d3016a Reviewed-by: Tim Jenssen --- src/libs/qmljs/qmljsdocument.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/libs/qmljs/qmljsdocument.cpp b/src/libs/qmljs/qmljsdocument.cpp index d1aabae61f9..071da4fff92 100644 --- a/src/libs/qmljs/qmljsdocument.cpp +++ b/src/libs/qmljs/qmljsdocument.cpp @@ -499,6 +499,14 @@ void Snapshot::insertLibraryInfo(const QString &path, const LibraryInfo &info) QRegExp safeName(QLatin1String("^[a-zA-Z_][[a-zA-Z0-9_]*$")); int majorVersion = LanguageUtils::ComponentVersion::NoVersion; int minorVersion = LanguageUtils::ComponentVersion::NoVersion; + + foreach (const QmlDirParser::Component &component, info.components()) { + if (component.majorVersion > majorVersion) + majorVersion = component.majorVersion; + if (component.minorVersion > minorVersion) + minorVersion = component.minorVersion; + } + if (vNr.indexIn(splitPath.last()) == 0) { splitPath.last() = vNr.cap(1); bool ok;