diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-11-23 09:26:49 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-11-23 08:42:49 +0000 |
commit | bb3d6a1741af84ade466d5a0ba68818cfbfb1c0d (patch) | |
tree | 70b092b42d60337696b2612cabc4060a97143f48 | |
parent | fb7c95414b6150b843458a89cb94837d6c5750f3 (diff) |
Sort out and clarify QML type registration
We cannot call qmlRegisterRevision() for our own types, because that
will register an unnamed type. In practice, the empty type name occurs
as a missing type name in qmlInfo() warnings. I've clarified the type
registration comments a bit, about what needs to be registered and
where:
- templates: new types _and_ new revisions for existing types
- controls: _only_ new types
For controls, the revisions is determined by the import version in
the .qml file, so those must be kept up to date in new releases.
Change-Id: I7c76a9d80185fa7e922c419b4ee7361be45c61f5
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r-- | src/imports/controls/qtquickcontrols2plugin.cpp | 10 | ||||
-rw-r--r-- | src/imports/templates/qtquicktemplates2plugin.cpp | 16 |
2 files changed, 11 insertions, 15 deletions
diff --git a/src/imports/controls/qtquickcontrols2plugin.cpp b/src/imports/controls/qtquickcontrols2plugin.cpp index 1f8a68c2..80983c37 100644 --- a/src/imports/controls/qtquickcontrols2plugin.cpp +++ b/src/imports/controls/qtquickcontrols2plugin.cpp @@ -90,7 +90,7 @@ void QtQuickControls2Plugin::registerTypes(const char *uri) qmlRegisterModule(uri, 2, QT_VERSION_MINOR - 7); // Qt 5.7->2.0, 5.8->2.1, 5.9->2.2... - // QtQuick.Controls 2.0 (Qt 5.7) + // QtQuick.Controls 2.0 (originally introduced in Qt 5.7) qmlRegisterType(selector.select(QStringLiteral("AbstractButton.qml")), uri, 2, 0, "AbstractButton"); qmlRegisterType(selector.select(QStringLiteral("ApplicationWindow.qml")), uri, 2, 0, "ApplicationWindow"); qmlRegisterType(selector.select(QStringLiteral("BusyIndicator.qml")), uri, 2, 0, "BusyIndicator"); @@ -136,7 +136,7 @@ void QtQuickControls2Plugin::registerTypes(const char *uri) qmlRegisterType(selector.select(QStringLiteral("ToolTip.qml")), uri, 2, 0, "ToolTip"); qmlRegisterType(selector.select(QStringLiteral("Tumbler.qml")), uri, 2, 0, "Tumbler"); - // QtQuick.Controls 2.1 (Qt 5.8) + // QtQuick.Controls 2.1 (new types in Qt 5.8) qmlRegisterType<QQuickButtonGroup,1 >(uri, 2, 1, "ButtonGroup"); qmlRegisterType(selector.select(QStringLiteral("Dialog.qml")), uri, 2, 1, "Dialog"); qmlRegisterType(selector.select(QStringLiteral("DialogButtonBox.qml")), uri, 2, 1, "DialogButtonBox"); @@ -144,11 +144,7 @@ void QtQuickControls2Plugin::registerTypes(const char *uri) qmlRegisterType(selector.select(QStringLiteral("RoundButton.qml")), uri, 2, 1, "RoundButton"); qmlRegisterType(selector.select(QStringLiteral("ToolSeparator.qml")), uri, 2, 1, "ToolSeparator"); - // QtQuick.Controls 2.2 (Qt 5.9) - qmlRegisterRevision<QQuickDial, 2>(uri, 2, 2); - qmlRegisterRevision<QQuickRangeSlider, 2>(uri, 2, 2); - qmlRegisterRevision<QQuickSlider, 2>(uri, 2, 2); - qmlRegisterRevision<QQuickTumbler, 2>(uri, 2, 2); + // QtQuick.Controls 2.2 (new types in Qt 5.9) } static QObject *styleSingleton(QQmlEngine *engine, QJSEngine *scriptEngine) diff --git a/src/imports/templates/qtquicktemplates2plugin.cpp b/src/imports/templates/qtquicktemplates2plugin.cpp index 11fd0ef2..83bbb94a 100644 --- a/src/imports/templates/qtquicktemplates2plugin.cpp +++ b/src/imports/templates/qtquicktemplates2plugin.cpp @@ -133,7 +133,7 @@ void QtQuickTemplates2Plugin::registerTypes(const char *uri) { qmlRegisterModule(uri, 2, QT_VERSION_MINOR - 7); // Qt 5.7->2.0, 5.8->2.1, 5.9->2.2... - // QtQuick.Templates 2.0 (Qt 5.7) + // QtQuick.Templates 2.0 (originally introduced in Qt 5.7) qmlRegisterType<QQuickAbstractButton>(uri, 2, 0, "AbstractButton"); qmlRegisterType<QQuickApplicationWindow>(uri, 2, 0, "ApplicationWindow"); qmlRegisterType<QQuickApplicationWindowAttached>(); @@ -199,7 +199,7 @@ void QtQuickTemplates2Plugin::registerTypes(const char *uri) qmlRegisterRevision<QQuickTextInput, 7>(uri, 2, 0); qmlRegisterRevision<QQuickTextEdit, 7>(uri, 2, 0); - // QtQuick.Templates 2.1 (Qt 5.8) + // QtQuick.Templates 2.1 (new types and revisions in Qt 5.8) qmlRegisterType<QQuickButtonGroup, 1>(uri, 2, 1, "ButtonGroup"); qmlRegisterType<QQuickComboBox, 1>(uri, 2, 1, "ComboBox"); qmlRegisterType<QQuickContainer, 1>(uri, 2, 1, "Container"); @@ -221,12 +221,12 @@ void QtQuickTemplates2Plugin::registerTypes(const char *uri) qmlRegisterType<QQuickToolSeparator>(uri, 2, 1, "ToolSeparator"); qmlRegisterType<QQuickTumbler, 1>(uri, 2, 1, "Tumbler"); - // QtQuick.Templates 2.2 (Qt 5.9) - qmlRegisterRevision<QQuickComboBox, 2>(uri, 2, 2); - qmlRegisterRevision<QQuickDial, 2>(uri, 2, 2); - qmlRegisterRevision<QQuickRangeSlider, 2>(uri, 2, 2); - qmlRegisterRevision<QQuickSlider, 2>(uri, 2, 2); - qmlRegisterRevision<QQuickTumbler, 2>(uri, 2, 2); + // QtQuick.Templates 2.2 (new types and revisions in Qt 5.9) + qmlRegisterType<QQuickComboBox, 2>(uri, 2, 2, "ComboBox"); + qmlRegisterType<QQuickDial, 2>(uri, 2, 2, "Dial"); + qmlRegisterType<QQuickRangeSlider, 2>(uri, 2, 2, "RangeSlider"); + qmlRegisterType<QQuickSlider, 2>(uri, 2, 2, "Slider"); + qmlRegisterType<QQuickTumbler, 2>(uri, 2, 2, "Tumbler"); } QT_END_NAMESPACE |