diff options
Diffstat (limited to 'src/imports')
12 files changed, 56 insertions, 40 deletions
diff --git a/src/imports/controls/fusion/qtquickcontrols2fusionstyleplugin.cpp b/src/imports/controls/fusion/qtquickcontrols2fusionstyleplugin.cpp index dcba73fe..985945cf 100644 --- a/src/imports/controls/fusion/qtquickcontrols2fusionstyleplugin.cpp +++ b/src/imports/controls/fusion/qtquickcontrols2fusionstyleplugin.cpp @@ -73,10 +73,10 @@ QtQuickControls2FusionStylePlugin::QtQuickControls2FusionStylePlugin(QObject *pa void QtQuickControls2FusionStylePlugin::registerTypes(const char *uri) { qmlRegisterModule(uri, 2, 3); // Qt 5.10->2.3 - qmlRegisterModule(uri, 2, QT_VERSION_MINOR); // Qt 5.12->2.12, 5.13->2.13... + qmlRegisterModule(uri, 2, 15); // Qt 5.12->2.12, 5.13->2.13... QByteArray import = QByteArray(uri) + ".impl"; - qmlRegisterModule(import, 2, QT_VERSION_MINOR); // Qt 5.12->2.12, 5.13->2.13... + qmlRegisterModule(import, 2, 15); // Qt 5.12->2.12, 5.13->2.13... qmlRegisterSingletonType<QQuickFusionStyle>(import, 2, 3, "Fusion", styleSingleton); diff --git a/src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp b/src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp index 71c013d5..41fd0e85 100644 --- a/src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp +++ b/src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp @@ -67,11 +67,11 @@ QtQuickControls2ImagineStylePlugin::QtQuickControls2ImagineStylePlugin(QObject * void QtQuickControls2ImagineStylePlugin::registerTypes(const char *uri) { - qmlRegisterModule(uri, 2, QT_VERSION_MINOR); // Qt 5.12->2.12, 5.13->2.13... + qmlRegisterModule(uri, 2, 15); // Qt 5.12->2.12, 5.13->2.13... qmlRegisterUncreatableType<QQuickImagineStyle>(uri, 2, 3, "Imagine", tr("Imagine is an attached property")); QByteArray import = QByteArray(uri) + ".impl"; - qmlRegisterModule(import, 2, QT_VERSION_MINOR); // Qt 5.12->2.12, 5.13->2.13... + qmlRegisterModule(import, 2, 15); // Qt 5.12->2.12, 5.13->2.13... qmlRegisterType<QQuickAnimatedImageSelector>(import, 2, 3, "AnimatedImageSelector"); qmlRegisterType<QQuickImageSelector>(import, 2, 3, "ImageSelector"); diff --git a/src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp b/src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp index eb0e6c87..d8cc04dd 100644 --- a/src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp +++ b/src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp @@ -68,11 +68,11 @@ QtQuickControls2MaterialStylePlugin::QtQuickControls2MaterialStylePlugin(QObject void QtQuickControls2MaterialStylePlugin::registerTypes(const char *uri) { - qmlRegisterModule(uri, 2, QT_VERSION_MINOR); // Qt 5.12->2.12, 5.13->2.13... + qmlRegisterModule(uri, 2, 15); // Qt 5.12->2.12, 5.13->2.13... qmlRegisterUncreatableType<QQuickMaterialStyle>(uri, 2, 0, "Material", tr("Material is an attached property")); QByteArray import = QByteArray(uri) + ".impl"; - qmlRegisterModule(import, 2, QT_VERSION_MINOR); // Qt 5.12->2.12, 5.13->2.13... + qmlRegisterModule(import, 2, 15); // Qt 5.12->2.12, 5.13->2.13... qmlRegisterType<QQuickMaterialBusyIndicator>(import, 2, 0, "BusyIndicatorImpl"); qmlRegisterType<QQuickMaterialProgressBar>(import, 2, 0, "ProgressBarImpl"); diff --git a/src/imports/controls/qtquickcontrols2plugin.cpp b/src/imports/controls/qtquickcontrols2plugin.cpp index 9fe82ba2..6730848f 100644 --- a/src/imports/controls/qtquickcontrols2plugin.cpp +++ b/src/imports/controls/qtquickcontrols2plugin.cpp @@ -79,6 +79,7 @@ public: ~QtQuickControls2Plugin(); void registerTypes(const char *uri) override; + void unregisterTypes() override; QString name() const override; void initializeTheme(QQuickTheme *theme) override; @@ -94,7 +95,8 @@ QtQuickControls2Plugin::QtQuickControls2Plugin(QObject *parent) : QQuickStylePlu QtQuickControls2Plugin::~QtQuickControls2Plugin() { - QQuickStylePrivate::reset(); + // Intentionally empty: we use register/unregisterTypes() to do + // initialization and cleanup, as plugins are not unloaded on macOS. } static bool isDefaultStyle(const QString &style) @@ -120,13 +122,9 @@ void QtQuickControls2Plugin::registerTypes(const char *uri) stylePlugin->initializeTheme(theme); qDeleteAll(stylePlugins); - // Register the latest version, even if there are no new types or new revisions for existing types yet. - // Before Qt 5.12, we would do the following: - // - // qmlRegisterModule(uri, 2, QT_VERSION_MINOR - 7); // Qt 5.7->2.0, 5.8->2.1, 5.9->2.2... - // - // However, we want to align with the rest of Qt Quick which uses Qt's minor version. - qmlRegisterModule(uri, 2, QT_VERSION_MINOR); + // The minor version used to be the current Qt 5 minor. For compatibility it is the last + // Qt 5 release. + qmlRegisterModule(uri, 2, 15); // QtQuick.Controls 2.0 (originally introduced in Qt 5.7) qmlRegisterType(resolvedUrl(QStringLiteral("AbstractButton.qml")), uri, 2, 0, "AbstractButton"); @@ -202,14 +200,10 @@ void QtQuickControls2Plugin::registerTypes(const char *uri) qmlRegisterType(resolvedUrl(QStringLiteral("HorizontalHeaderView.qml")), uri, 2, 15, "HorizontalHeaderView"); qmlRegisterType(resolvedUrl(QStringLiteral("VerticalHeaderView.qml")), uri, 2, 15, "VerticalHeaderView"); - // Register the latest version, even if there are no new types or new revisions for existing types yet. - // Before Qt 5.12, we would do the following: - // - // qmlRegisterModule(import, 2, QT_VERSION_MINOR - 7); // Qt 5.7->2.0, 5.8->2.1, 5.9->2.2... - // - // However, we want to align with the rest of Qt Quick which uses Qt's minor version. + // The minor version used to be the current Qt 5 minor. For compatibility it is the last + // Qt 5 release. const QByteArray import = QByteArray(uri) + ".impl"; - qmlRegisterModule(import, 2, QT_VERSION_MINOR); + qmlRegisterModule(import, 2, 15); // QtQuick.Controls.impl 2.0 (Qt 5.7) qmlRegisterType<QQuickDefaultBusyIndicator>(import, 2, 0, "BusyIndicatorImpl"); @@ -246,6 +240,12 @@ void QtQuickControls2Plugin::registerTypes(const char *uri) qmlRegisterRevision<QQuickText, 6>(import, 2, 3); } +void QtQuickControls2Plugin::unregisterTypes() +{ + QQuickStylePlugin::unregisterTypes(); + QQuickStylePrivate::reset(); +} + QString QtQuickControls2Plugin::name() const { return QStringLiteral("Default"); diff --git a/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp b/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp index 7a999b79..08cd5001 100644 --- a/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp +++ b/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp @@ -65,11 +65,11 @@ QtQuickControls2UniversalStylePlugin::QtQuickControls2UniversalStylePlugin(QObje void QtQuickControls2UniversalStylePlugin::registerTypes(const char *uri) { - qmlRegisterModule(uri, 2, QT_VERSION_MINOR); // Qt 5.12->2.12, 5.13->2.13... + qmlRegisterModule(uri, 2, 15); // Qt 5.12->2.12, 5.13->2.13... qmlRegisterUncreatableType<QQuickUniversalStyle>(uri, 2, 0, "Universal", tr("Universal is an attached property")); QByteArray import = QByteArray(uri) + ".impl"; - qmlRegisterModule(import, 2, QT_VERSION_MINOR); // Qt 5.12->2.12, 5.13->2.13... + qmlRegisterModule(import, 2, 15); // Qt 5.12->2.12, 5.13->2.13... qmlRegisterType<QQuickUniversalFocusRectangle>(import, 2, 0, "FocusRectangle"); qmlRegisterType<QQuickUniversalBusyIndicator>(import, 2, 0, "BusyIndicatorImpl"); diff --git a/src/imports/platform/qquickplatformdialog.cpp b/src/imports/platform/qquickplatformdialog.cpp index 2a785bbc..983c2766 100644 --- a/src/imports/platform/qquickplatformdialog.cpp +++ b/src/imports/platform/qquickplatformdialog.cpp @@ -407,3 +407,5 @@ QWindow *QQuickPlatformDialog::findParentWindow() const } QT_END_NAMESPACE + +#include "moc_qquickplatformdialog_p.cpp" diff --git a/src/imports/platform/qquickplatformmenu.cpp b/src/imports/platform/qquickplatformmenu.cpp index 1f5f52d7..8954d439 100644 --- a/src/imports/platform/qquickplatformmenu.cpp +++ b/src/imports/platform/qquickplatformmenu.cpp @@ -938,3 +938,5 @@ void QQuickPlatformMenu::updateIcon() } QT_END_NAMESPACE + +#include "moc_qquickplatformmenu_p.cpp" diff --git a/src/imports/platform/qquickplatformmenubar.cpp b/src/imports/platform/qquickplatformmenubar.cpp index 99757829..592a6bfe 100644 --- a/src/imports/platform/qquickplatformmenubar.cpp +++ b/src/imports/platform/qquickplatformmenubar.cpp @@ -328,3 +328,5 @@ void QQuickPlatformMenuBar::menus_clear(QQmlListProperty<QQuickPlatformMenu> *pr } QT_END_NAMESPACE + +#include "moc_qquickplatformmenubar_p.cpp" diff --git a/src/imports/platform/qquickplatformmenuitem.cpp b/src/imports/platform/qquickplatformmenuitem.cpp index fa3fdafb..e5741b6b 100644 --- a/src/imports/platform/qquickplatformmenuitem.cpp +++ b/src/imports/platform/qquickplatformmenuitem.cpp @@ -623,3 +623,5 @@ void QQuickPlatformMenuItem::updateIcon() } QT_END_NAMESPACE + +#include "moc_qquickplatformmenuitem_p.cpp" diff --git a/src/imports/platform/qquickplatformmenuitemgroup.cpp b/src/imports/platform/qquickplatformmenuitemgroup.cpp index 7e091881..e0773bb1 100644 --- a/src/imports/platform/qquickplatformmenuitemgroup.cpp +++ b/src/imports/platform/qquickplatformmenuitemgroup.cpp @@ -388,3 +388,5 @@ void QQuickPlatformMenuItemGroup::items_clear(QQmlListProperty<QQuickPlatformMen } QT_END_NAMESPACE + +#include "moc_qquickplatformmenuitemgroup_p.cpp" diff --git a/src/imports/platform/qquickplatformsystemtrayicon.cpp b/src/imports/platform/qquickplatformsystemtrayicon.cpp index da483822..4a96b38f 100644 --- a/src/imports/platform/qquickplatformsystemtrayicon.cpp +++ b/src/imports/platform/qquickplatformsystemtrayicon.cpp @@ -482,3 +482,5 @@ void QQuickPlatformSystemTrayIcon::updateIcon() } QT_END_NAMESPACE + +#include "moc_qquickplatformsystemtrayicon_p.cpp" diff --git a/src/imports/templates/qtquicktemplates2plugin.cpp b/src/imports/templates/qtquicktemplates2plugin.cpp index 3b085c56..9c57b471 100644 --- a/src/imports/templates/qtquicktemplates2plugin.cpp +++ b/src/imports/templates/qtquicktemplates2plugin.cpp @@ -131,6 +131,7 @@ public: ~QtQuickTemplates2Plugin(); void registerTypes(const char *uri) override; + void unregisterTypes() override; private: bool registered; @@ -142,34 +143,27 @@ private: QtQuickTemplates2Plugin::QtQuickTemplates2Plugin(QObject *parent) : QQmlExtensionPlugin(parent), registered(false) { -#if QT_CONFIG(shortcut) - originalContextMatcher = qt_quick_shortcut_context_matcher(); - qt_quick_set_shortcut_context_matcher(QQuickShortcutContext::matcher); -#endif } QtQuickTemplates2Plugin::~QtQuickTemplates2Plugin() { - if (registered) - cleanupProviders(); - -#if QT_CONFIG(shortcut) - qt_quick_set_shortcut_context_matcher(originalContextMatcher); -#endif + // Intentionally empty: we use register/unregisterTypes() to do + // initialization and cleanup, as plugins are not unloaded on macOS. } void QtQuickTemplates2Plugin::registerTypes(const char *uri) { +#if QT_CONFIG(shortcut) + originalContextMatcher = qt_quick_shortcut_context_matcher(); + qt_quick_set_shortcut_context_matcher(QQuickShortcutContext::matcher); +#endif + registered = true; initProviders(); - // Register the latest version, even if there are no new types or new revisions for existing types yet. - // Before Qt 5.12, we would do the following: - // - // qmlRegisterModule(uri, 2, QT_VERSION_MINOR - 7); // Qt 5.7->2.0, 5.8->2.1, 5.9->2.2... - // - // However, we want to align with the rest of Qt Quick which uses Qt's minor version. - qmlRegisterModule(uri, 2, QT_VERSION_MINOR); + // The minor version used to be the current Qt 5 minor. For compatibility it is the last + // Qt 5 release. + qmlRegisterModule(uri, 2, 15); // QtQuick.Templates 2.0 (originally introduced in Qt 5.7) qmlRegisterType<QQuickAbstractButton>(uri, 2, 0, "AbstractButton"); @@ -368,6 +362,16 @@ void QtQuickTemplates2Plugin::registerTypes(const char *uri) qmlRegisterType<QQuickVerticalHeaderView>(uri, 2, 15, "VerticalHeaderView"); } +void QtQuickTemplates2Plugin::unregisterTypes() +{ + if (registered) + cleanupProviders(); + +#if QT_CONFIG(shortcut) + qt_quick_set_shortcut_context_matcher(originalContextMatcher); +#endif +} + QT_END_NAMESPACE #include "qtquicktemplates2plugin.moc" |