aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.qmake.conf4
-rw-r--r--dependencies.yaml7
-rw-r--r--examples/quickcontrols2/quickcontrols2.pro1
-rw-r--r--examples/quickcontrols2/texteditor/documenthandler.cpp2
-rw-r--r--src/imports/controls/fusion/qtquickcontrols2fusionstyleplugin.cpp4
-rw-r--r--src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp4
-rw-r--r--src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp4
-rw-r--r--src/imports/controls/qtquickcontrols2plugin.cpp30
-rw-r--r--src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp4
-rw-r--r--src/imports/platform/qquickplatformdialog.cpp2
-rw-r--r--src/imports/platform/qquickplatformmenu.cpp2
-rw-r--r--src/imports/platform/qquickplatformmenubar.cpp2
-rw-r--r--src/imports/platform/qquickplatformmenuitem.cpp2
-rw-r--r--src/imports/platform/qquickplatformmenuitemgroup.cpp2
-rw-r--r--src/imports/platform/qquickplatformsystemtrayicon.cpp2
-rw-r--r--src/imports/templates/qtquicktemplates2plugin.cpp38
-rw-r--r--src/quickcontrols2/qquickstyle.cpp27
-rw-r--r--src/quickcontrols2/qquickstyleplugin.cpp10
-rw-r--r--src/quickcontrols2/qquickstyleplugin_p.h1
-rw-r--r--src/quickcontrols2/qquickstyleselector.cpp12
-rw-r--r--src/quickcontrols2/qquicktumblerview.cpp2
-rw-r--r--src/quicktemplates2/qquickabstractbutton.cpp2
-rw-r--r--src/quicktemplates2/qquickcombobox.cpp2
-rw-r--r--src/quicktemplates2/qquickdelaybutton.cpp2
-rw-r--r--src/quicktemplates2/qquickmenubaritem.cpp2
-rw-r--r--src/quicktemplates2/qquickmenuitem.cpp2
-rw-r--r--src/quicktemplates2/qquickpopupanchors.cpp2
-rw-r--r--src/quicktemplates2/qquickspinbox.cpp2
-rw-r--r--src/quicktemplates2/qquickstackview.cpp2
-rw-r--r--src/quicktemplates2/qquickswipedelegate.cpp3
-rw-r--r--src/quicktemplates2/qquickswipeview.cpp2
-rw-r--r--tests/auto/focus/tst_focus.cpp8
-rw-r--r--tests/auto/qquickdrawer/tst_qquickdrawer.cpp4
-rw-r--r--tests/auto/qquickpopup/tst_qquickpopup.cpp6
-rw-r--r--tests/auto/revisions/tst_revisions.cpp4
-rw-r--r--tests/auto/sanity/tst_sanity.cpp2
36 files changed, 149 insertions, 58 deletions
diff --git a/.qmake.conf b/.qmake.conf
index 31431340..5b8a4939 100644
--- a/.qmake.conf
+++ b/.qmake.conf
@@ -1,8 +1,8 @@
load(qt_build_config)
CONFIG += warning_clean
-DEFINES += QT_NO_FOREACH QT_NO_JAVA_STYLE_ITERATORS QT_NO_LINKED_LIST
+DEFINES += QT_NO_FOREACH QT_NO_JAVA_STYLE_ITERATORS
QQC2_SOURCE_TREE = $$PWD
-MODULE_VERSION = 5.15.0
+MODULE_VERSION = 6.0.0
diff --git a/dependencies.yaml b/dependencies.yaml
new file mode 100644
index 00000000..607a345b
--- /dev/null
+++ b/dependencies.yaml
@@ -0,0 +1,7 @@
+dependencies:
+ ../qtgraphicaleffects:
+ ref: 1a1416501b484166743d8fc98ef24db7be5bbddb
+ required: true
+ ../qtimageformats:
+ ref: 10c6352fb384b732e942af9ada4cb8d07a793c45
+ required: false
diff --git a/examples/quickcontrols2/quickcontrols2.pro b/examples/quickcontrols2/quickcontrols2.pro
index 6d0a3875..a9784d86 100644
--- a/examples/quickcontrols2/quickcontrols2.pro
+++ b/examples/quickcontrols2/quickcontrols2.pro
@@ -9,6 +9,5 @@ SUBDIRS += \
wearable \
imagine/automotive \
imagine/musicplayer
- wearable
qtHaveModule(widgets): SUBDIRS += flatstyle
diff --git a/examples/quickcontrols2/texteditor/documenthandler.cpp b/examples/quickcontrols2/texteditor/documenthandler.cpp
index 5def1b61..e840d411 100644
--- a/examples/quickcontrols2/texteditor/documenthandler.cpp
+++ b/examples/quickcontrols2/texteditor/documenthandler.cpp
@@ -385,3 +385,5 @@ void DocumentHandler::setModified(bool m)
if (m_document)
m_document->textDocument()->setModified(m);
}
+
+#include "moc_documenthandler.cpp"
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"
diff --git a/src/quickcontrols2/qquickstyle.cpp b/src/quickcontrols2/qquickstyle.cpp
index 0d7b44c6..e1cf4bfe 100644
--- a/src/quickcontrols2/qquickstyle.cpp
+++ b/src/quickcontrols2/qquickstyle.cpp
@@ -43,6 +43,7 @@
#include <QtCore/qsettings.h>
#include <QtCore/qfileselector.h>
#include <QtCore/qlibraryinfo.h>
+#include <QtCore/qloggingcategory.h>
#include <QtCore/qmetaobject.h>
#include <QtGui/qcolor.h>
#include <QtGui/qfont.h>
@@ -57,6 +58,8 @@
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(lcQtQuickControlsStyle, "qt.quick.controls.style")
+
/*!
\class QQuickStyle
\brief The QQuickStyle class allows configuring the application style.
@@ -188,6 +191,8 @@ struct QQuickStyleSpec
void resolve(const QUrl &baseUrl = QUrl())
{
+ qCDebug(lcQtQuickControlsStyle) << "resolving style with baseUrl" << baseUrl;
+
if (style.isEmpty())
style = QGuiApplicationPrivate::styleOverride;
if (style.isEmpty())
@@ -240,6 +245,15 @@ struct QQuickStyleSpec
}
resolved = true;
}
+
+ qCDebug(lcQtQuickControlsStyle).nospace() << "done resolving:"
+ << "\n custom=" << custom
+ << "\n resolved=" << resolved
+ << "\n style=" << style
+ << "\n fallbackStyle=" << fallbackStyle
+ << "\n fallbackMethod=" << fallbackMethod
+ << "\n configFilePath=" << configFilePath
+ << "\n customStylePaths=" << customStylePaths;
}
void reset()
@@ -266,12 +280,19 @@ struct QQuickStyleSpec
return configFilePath;
}
+ // Is this a custom style defined by the user and not "built-in" style?
bool custom;
+ // Did we manage to find a valid style path?
bool resolved;
+ // The full path to the style.
QString style;
+ // The built-in style to use if the requested style cannot be found.
QString fallbackStyle;
+ // A description of the way in which fallbackStyle was set, used in e.g. warning messages shown to the user.
QByteArray fallbackMethod;
+ // The path to the qtquickcontrols2.conf file.
QString configFilePath;
+ // An extra list of directories where we search for available styles before any other directories.
QStringList customStylePaths;
};
@@ -555,7 +576,9 @@ QString QQuickStyle::path()
*/
void QQuickStyle::setStyle(const QString &style)
{
- if (QQmlMetaType::isModule(QStringLiteral("QtQuick.Controls"), 2, 0)) {
+ qCDebug(lcQtQuickControlsStyle) << "setStyle called with" << style;
+
+ if (QQmlMetaType::isModule(QStringLiteral("QtQuick.Controls"), QTypeRevision::fromVersion(2, 0))) {
qWarning() << "ERROR: QQuickStyle::setStyle() must be called before loading QML that imports Qt Quick Controls 2.";
return;
}
@@ -579,7 +602,7 @@ void QQuickStyle::setStyle(const QString &style)
*/
void QQuickStyle::setFallbackStyle(const QString &style)
{
- if (QQmlMetaType::isModule(QStringLiteral("QtQuick.Controls"), 2, 0)) {
+ if (QQmlMetaType::isModule(QStringLiteral("QtQuick.Controls"), QTypeRevision::fromVersion(2, 0))) {
qWarning() << "ERROR: QQuickStyle::setFallbackStyle() must be called before loading QML that imports Qt Quick Controls 2.";
return;
}
diff --git a/src/quickcontrols2/qquickstyleplugin.cpp b/src/quickcontrols2/qquickstyleplugin.cpp
index 553a6cad..c35c8735 100644
--- a/src/quickcontrols2/qquickstyleplugin.cpp
+++ b/src/quickcontrols2/qquickstyleplugin.cpp
@@ -63,7 +63,15 @@ QString QQuickStylePlugin::name() const
void QQuickStylePlugin::initializeTheme(QQuickTheme *theme)
{
- Q_UNUSED(theme);
+ Q_UNUSED(theme)
+}
+
+void QQuickStylePlugin::unregisterTypes()
+{
+ Q_D(QQuickStylePlugin);
+ // Destroy the selector so that it is recreated in resolvedUrl() and
+ // any new style that has been set at runtime will be accounted for when selecting QML files.
+ d->selector.reset();
}
QUrl QQuickStylePlugin::resolvedUrl(const QString &fileName) const
diff --git a/src/quickcontrols2/qquickstyleplugin_p.h b/src/quickcontrols2/qquickstyleplugin_p.h
index 6b89926c..67103e12 100644
--- a/src/quickcontrols2/qquickstyleplugin_p.h
+++ b/src/quickcontrols2/qquickstyleplugin_p.h
@@ -66,6 +66,7 @@ public:
virtual QString name() const;
virtual void initializeTheme(QQuickTheme *theme);
+ virtual void unregisterTypes() override;
QUrl resolvedUrl(const QString &fileName) const;
diff --git a/src/quickcontrols2/qquickstyleselector.cpp b/src/quickcontrols2/qquickstyleselector.cpp
index d11a95bd..72e7af66 100644
--- a/src/quickcontrols2/qquickstyleselector.cpp
+++ b/src/quickcontrols2/qquickstyleselector.cpp
@@ -48,7 +48,9 @@
QT_BEGIN_NAMESPACE
-Q_LOGGING_CATEGORY(lcQtQuickControlsStyle, "qt.quick.controls.style")
+Q_LOGGING_CATEGORY(lcStyleSelectorSelect, "qt.quick.controls.styleSelector.select")
+Q_LOGGING_CATEGORY(lcStyleSelectorSetPaths, "qt.quick.controls.styleSelector.setPaths")
+Q_LOGGING_CATEGORY(lcStyleSelectorAddSelector, "qt.quick.controls.styleSelector.addSelector")
static QString ensureSlash(const QString &path)
{
@@ -112,6 +114,9 @@ void QQuickStyleSelector::addSelector(const QString &selector)
return;
d->selectors += selector;
+
+ qCDebug(lcStyleSelectorSetPaths).nospace() << "added selector " << selector
+ << "; full list is now: " << d->selectors;
}
QStringList QQuickStyleSelector::paths() const
@@ -123,6 +128,7 @@ QStringList QQuickStyleSelector::paths() const
void QQuickStyleSelector::setPaths(const QStringList &paths)
{
Q_D(QQuickStyleSelector);
+ qCDebug(lcStyleSelectorSetPaths) << "setting paths to" << paths;
d->paths = paths;
}
@@ -133,7 +139,7 @@ QUrl QQuickStyleSelector::select(const QString &fileName) const
// 1) requested style (e.g. "MyStyle", included in d->selectors)
// 2) fallback style (e.g. "Material", included in d->selectors)
// 3) default style (empty selector, not in d->selectors)
- qCDebug(lcQtQuickControlsStyle) << "selecting" << fileName << "from" << d->paths << "with selectors" << d->selectors;
+ qCDebug(lcStyleSelectorSelect) << "selecting" << fileName << "from" << d->paths << "with selectors" << d->selectors;
int to = d->selectors.count() - 1;
if (d->selectors.isEmpty() || !d->selectors.first().isEmpty())
@@ -145,7 +151,7 @@ QUrl QQuickStyleSelector::select(const QString &fileName) const
for (const QString &path : d->paths) {
const QUrl selectedUrl = d->select(ensureSlash(path) + selector + QLatin1Char('/') + fileName);
if (selectedUrl.isValid()) {
- qCDebug(lcQtQuickControlsStyle) << "==>" << selectedUrl << "from" << path << "with selector" << selector;
+ qCDebug(lcStyleSelectorSelect) << "==>" << selectedUrl << "from" << path << "with selector" << selector;
return selectedUrl;
}
}
diff --git a/src/quickcontrols2/qquicktumblerview.cpp b/src/quickcontrols2/qquicktumblerview.cpp
index 4a64ad7f..eaa58032 100644
--- a/src/quickcontrols2/qquicktumblerview.cpp
+++ b/src/quickcontrols2/qquicktumblerview.cpp
@@ -316,3 +316,5 @@ QQuickItem *QQuickTumblerView::view()
}
QT_END_NAMESPACE
+
+#include "moc_qquicktumblerview_p.cpp"
diff --git a/src/quicktemplates2/qquickabstractbutton.cpp b/src/quicktemplates2/qquickabstractbutton.cpp
index 8632e14c..f5dec6c2 100644
--- a/src/quicktemplates2/qquickabstractbutton.cpp
+++ b/src/quicktemplates2/qquickabstractbutton.cpp
@@ -1177,3 +1177,5 @@ QAccessible::Role QQuickAbstractButton::accessibleRole() const
#endif
QT_END_NAMESPACE
+
+#include "moc_qquickabstractbutton_p.cpp"
diff --git a/src/quicktemplates2/qquickcombobox.cpp b/src/quicktemplates2/qquickcombobox.cpp
index d9bbd2bd..f8b91b4e 100644
--- a/src/quicktemplates2/qquickcombobox.cpp
+++ b/src/quicktemplates2/qquickcombobox.cpp
@@ -1966,3 +1966,5 @@ void QQuickComboBox::accessibilityActiveChanged(bool active)
#endif //
QT_END_NAMESPACE
+
+#include "moc_qquickcombobox_p.cpp"
diff --git a/src/quicktemplates2/qquickdelaybutton.cpp b/src/quicktemplates2/qquickdelaybutton.cpp
index 7b769089..abc1488d 100644
--- a/src/quicktemplates2/qquickdelaybutton.cpp
+++ b/src/quicktemplates2/qquickdelaybutton.cpp
@@ -265,3 +265,5 @@ QPalette QQuickDelayButton::defaultPalette() const
}
QT_END_NAMESPACE
+
+#include "moc_qquickdelaybutton_p.cpp"
diff --git a/src/quicktemplates2/qquickmenubaritem.cpp b/src/quicktemplates2/qquickmenubaritem.cpp
index ee407f5b..bfb23a06 100644
--- a/src/quicktemplates2/qquickmenubaritem.cpp
+++ b/src/quicktemplates2/qquickmenubaritem.cpp
@@ -183,3 +183,5 @@ QAccessible::Role QQuickMenuBarItem::accessibleRole() const
#endif
QT_END_NAMESPACE
+
+#include "moc_qquickmenubaritem_p.cpp"
diff --git a/src/quicktemplates2/qquickmenuitem.cpp b/src/quicktemplates2/qquickmenuitem.cpp
index ec1ea621..f0cb2045 100644
--- a/src/quicktemplates2/qquickmenuitem.cpp
+++ b/src/quicktemplates2/qquickmenuitem.cpp
@@ -277,3 +277,5 @@ QAccessible::Role QQuickMenuItem::accessibleRole() const
#endif
QT_END_NAMESPACE
+
+#include "moc_qquickmenuitem_p.cpp"
diff --git a/src/quicktemplates2/qquickpopupanchors.cpp b/src/quicktemplates2/qquickpopupanchors.cpp
index 5acc2934..c48ca5ff 100644
--- a/src/quicktemplates2/qquickpopupanchors.cpp
+++ b/src/quicktemplates2/qquickpopupanchors.cpp
@@ -70,3 +70,5 @@ void QQuickPopupAnchors::resetCenterIn()
}
QT_END_NAMESPACE
+
+#include "moc_qquickpopupanchors_p.cpp"
diff --git a/src/quicktemplates2/qquickspinbox.cpp b/src/quicktemplates2/qquickspinbox.cpp
index 3482af8c..a3441c51 100644
--- a/src/quicktemplates2/qquickspinbox.cpp
+++ b/src/quicktemplates2/qquickspinbox.cpp
@@ -1176,3 +1176,5 @@ qreal QQuickSpinButton::implicitIndicatorHeight() const
}
QT_END_NAMESPACE
+
+#include "moc_qquickspinbox_p.cpp"
diff --git a/src/quicktemplates2/qquickstackview.cpp b/src/quicktemplates2/qquickstackview.cpp
index 4c314904..1d7bb91f 100644
--- a/src/quicktemplates2/qquickstackview.cpp
+++ b/src/quicktemplates2/qquickstackview.cpp
@@ -1383,3 +1383,5 @@ void QQuickStackViewAttached::resetVisible()
*/
QT_END_NAMESPACE
+
+#include "moc_qquickstackview_p.cpp"
diff --git a/src/quicktemplates2/qquickswipedelegate.cpp b/src/quicktemplates2/qquickswipedelegate.cpp
index 30616f7a..4a66ecef 100644
--- a/src/quicktemplates2/qquickswipedelegate.cpp
+++ b/src/quicktemplates2/qquickswipedelegate.cpp
@@ -1383,3 +1383,6 @@ void QQuickSwipeDelegateAttached::setPressed(bool pressed)
}
QT_END_NAMESPACE
+
+#include "moc_qquickswipe_p.cpp"
+#include "moc_qquickswipedelegate_p.cpp"
diff --git a/src/quicktemplates2/qquickswipeview.cpp b/src/quicktemplates2/qquickswipeview.cpp
index dab20b93..f8b6ea77 100644
--- a/src/quicktemplates2/qquickswipeview.cpp
+++ b/src/quicktemplates2/qquickswipeview.cpp
@@ -474,3 +474,5 @@ bool QQuickSwipeViewAttached::isPreviousItem() const
}
QT_END_NAMESPACE
+
+#include "moc_qquickswipeview_p.cpp"
diff --git a/tests/auto/focus/tst_focus.cpp b/tests/auto/focus/tst_focus.cpp
index 958b996b..8a1b36ad 100644
--- a/tests/auto/focus/tst_focus.cpp
+++ b/tests/auto/focus/tst_focus.cpp
@@ -232,7 +232,9 @@ void tst_focus::policy()
QVERIFY(!control->hasActiveFocus());
// Qt::WheelFocus
- QWheelEvent wheelEvent(QPoint(control->width() / 2, control->height() / 2), 10, Qt::NoButton, Qt::NoModifier);
+ QWheelEvent wheelEvent(QPointF(control->width() / 2, control->height() / 2), QPointF(),
+ QPoint(), QPoint(0, 10), Qt::NoButton, Qt::NoModifier,
+ Qt::NoScrollPhase, false);
QGuiApplication::sendEvent(control, &wheelEvent);
QVERIFY(!control->hasActiveFocus());
QVERIFY(!control->hasVisualFocus());
@@ -403,7 +405,9 @@ void tst_focus::scope()
QVERIFY(control->hasActiveFocus());
// Qt::WheelFocus
- QWheelEvent wheelEvent(QPoint(control->width() / 2, control->height() / 2), 10, Qt::NoButton, Qt::NoModifier);
+ QWheelEvent wheelEvent(QPointF(control->width() / 2, control->height() / 2), QPointF(),
+ QPoint(), QPoint(0, 10), Qt::NoButton, Qt::NoModifier,
+ Qt::NoScrollPhase, false);
QGuiApplication::sendEvent(control, &wheelEvent);
QVERIFY(!child->hasActiveFocus());
QVERIFY(control->hasActiveFocus());
diff --git a/tests/auto/qquickdrawer/tst_qquickdrawer.cpp b/tests/auto/qquickdrawer/tst_qquickdrawer.cpp
index 4cf0dabe..7644cacf 100644
--- a/tests/auto/qquickdrawer/tst_qquickdrawer.cpp
+++ b/tests/auto/qquickdrawer/tst_qquickdrawer.cpp
@@ -615,7 +615,9 @@ void tst_QQuickDrawer::wheel_data()
static bool sendWheelEvent(QQuickItem *item, const QPoint &localPos, int degrees)
{
QQuickWindow *window = item->window();
- QWheelEvent wheelEvent(localPos, item->window()->mapToGlobal(localPos), QPoint(0, 0), QPoint(0, 8 * degrees), 0, Qt::Vertical, Qt::NoButton, 0);
+ QWheelEvent wheelEvent(localPos, item->window()->mapToGlobal(localPos), QPoint(0, 0),
+ QPoint(0, 8 * degrees), Qt::NoButton, Qt::NoModifier, Qt::NoScrollPhase,
+ false);
QSpontaneKeyEvent::setSpontaneous(&wheelEvent);
return qGuiApp->notify(window, &wheelEvent);
}
diff --git a/tests/auto/qquickpopup/tst_qquickpopup.cpp b/tests/auto/qquickpopup/tst_qquickpopup.cpp
index 0b7d14bd..d96436de 100644
--- a/tests/auto/qquickpopup/tst_qquickpopup.cpp
+++ b/tests/auto/qquickpopup/tst_qquickpopup.cpp
@@ -795,9 +795,9 @@ void tst_QQuickPopup::wheel_data()
static bool sendWheelEvent(QQuickItem *item, const QPoint &localPos, int degrees)
{
QQuickWindow *window = item->window();
- QWheelEvent wheelEvent(localPos, item->window()->mapToGlobal(localPos),
- QPoint(0, 0), QPoint(0, 8 * degrees),
- 0, Qt::Vertical, Qt::NoButton, {});
+ QWheelEvent wheelEvent(localPos, item->window()->mapToGlobal(localPos), QPoint(0, 0),
+ QPoint(0, 8 * degrees), Qt::NoButton, Qt::NoModifier, Qt::NoScrollPhase,
+ false);
QSpontaneKeyEvent::setSpontaneous(&wheelEvent);
return qGuiApp->notify(window, &wheelEvent);
}
diff --git a/tests/auto/revisions/tst_revisions.cpp b/tests/auto/revisions/tst_revisions.cpp
index 606cea33..82b32827 100644
--- a/tests/auto/revisions/tst_revisions.cpp
+++ b/tests/auto/revisions/tst_revisions.cpp
@@ -56,7 +56,7 @@ void tst_revisions::revisions_data()
QTest::addColumn<int>("revision");
// Qt 5.7: 2.0, Qt 5.8: 2.1, Qt 5.9: 2.2...
- for (int i = 0; i <= QT_VERSION_MINOR - 7; ++i)
+ for (int i = 0; i <= 15; ++i)
QTest::newRow(qPrintable(QString("2.%1").arg(i))) << i;
}
@@ -91,7 +91,7 @@ void tst_revisions::window_data()
QTest::newRow(qPrintable(QString("screen:2.%1").arg(i))) << i << "screen: null" << QString(":1 \"ApplicationWindow.screen\" is not available in QtQuick.Templates 2.%1").arg(i);
// Qt 5.9: 2.2, Qt 5.10: 2.3...
- for (int i = 2; i <= QT_VERSION_MINOR - 7; ++i)
+ for (int i = 2; i <= 15; ++i)
QTest::newRow(qPrintable(QString("screen:2.%1").arg(i))) << i << "screen: null" << "";
}
diff --git a/tests/auto/sanity/tst_sanity.cpp b/tests/auto/sanity/tst_sanity.cpp
index 1793ccfa..78b86f00 100644
--- a/tests/auto/sanity/tst_sanity.cpp
+++ b/tests/auto/sanity/tst_sanity.cpp
@@ -156,7 +156,7 @@ void tst_Sanity::initTestCase()
{
QQmlEngine engine;
QQmlComponent component(&engine);
- component.setData(QString("import QtQuick.Templates 2.%1; Control { }").arg(QT_VERSION_MINOR - 7).toUtf8(), QUrl());
+ component.setData(QString("import QtQuick.Templates 2.%1; Control { }").arg(15).toUtf8(), QUrl());
const QStringList qmlTypeNames = QQmlMetaType::qmlTypeNames();