diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-01-27 17:31:06 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-03-17 14:44:17 +0100 |
commit | 1eb20d70619cc896fc283bd6605b257a8750c518 (patch) | |
tree | 1d308932d38759a643d8eef49b211329a2cd5467 /src/qml/qml/qqmltypemoduleversion_p.h | |
parent | e3c64aff6579f04353608d4b218f031d9137d3f4 (diff) |
Allow partial and absent version specifiers in import statements
An import statement without version specifier imports the latest version
available, one with only a major version imports the latest minor
version from that major version.
Task-number: QTBUG-71278
Change-Id: I43907ae4e1052be533039d545de5391c41d38307
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/qml/qqmltypemoduleversion_p.h')
-rw-r--r-- | src/qml/qml/qqmltypemoduleversion_p.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/qml/qml/qqmltypemoduleversion_p.h b/src/qml/qml/qqmltypemoduleversion_p.h index b7e94ef27b..c5379b2158 100644 --- a/src/qml/qml/qqmltypemoduleversion_p.h +++ b/src/qml/qml/qqmltypemoduleversion_p.h @@ -52,6 +52,8 @@ // #include <QtQml/qtqmlglobal.h> +#include <QtQml/private/qqmltype_p.h> +#include <QtQml/private/qqmltypemodule_p.h> #include <QtCore/qversionnumber.h> QT_BEGIN_NAMESPACE @@ -72,8 +74,15 @@ public: QQmlTypeModuleVersion(const QQmlTypeModuleVersion &); QQmlTypeModuleVersion &operator=(const QQmlTypeModuleVersion &); - QQmlType type(const QHashedStringRef &) const; - QQmlType type(const QV4::String *) const; + template<typename String> + QQmlType type(String name) const + { + if (!m_module) + return QQmlType(); + return m_module->type(name, QTypeRevision::isValidSegment(m_minor) + ? QTypeRevision::fromMinorVersion(m_minor) + : QTypeRevision()); + } private: QQmlTypeModule *m_module; |