aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmltypemoduleversion_p.h
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2020-01-27 17:31:06 +0100
committerUlf Hermann <ulf.hermann@qt.io>2020-03-17 14:44:17 +0100
commit1eb20d70619cc896fc283bd6605b257a8750c518 (patch)
tree1d308932d38759a643d8eef49b211329a2cd5467 /src/qml/qml/qqmltypemoduleversion_p.h
parente3c64aff6579f04353608d4b218f031d9137d3f4 (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.h13
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;