aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/style
diff options
context:
space:
mode:
authorRobert Griebl <robert.griebl@qt.io>2023-06-27 16:37:45 +0200
committerRobert Griebl <robert.griebl@qt.io>2023-06-27 14:51:12 +0000
commit995eb2c822b82eba8849fcd6dc7de465a7ca72f3 (patch)
treed7e6f4936c70284038ba93f21d37da9ed2d99698 /plugins/style
parent7f3bda0bdc9c4c1c704fbcf8585e3470f9f9e9f5 (diff)
Add support for Qt 6.5HEADdev
Change-Id: I5dd88d1f01b77b833f8d141ea689f7647ea420c7 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
Diffstat (limited to 'plugins/style')
-rw-r--r--plugins/style/Style.cpp14
-rw-r--r--plugins/style/Style.h20
2 files changed, 23 insertions, 11 deletions
diff --git a/plugins/style/Style.cpp b/plugins/style/Style.cpp
index c5c4f937..d25748ca 100644
--- a/plugins/style/Style.cpp
+++ b/plugins/style/Style.cpp
@@ -40,9 +40,9 @@
#include <QtQml/qqmlinfo.h>
Style::Style(QObject *parent)
- : QQuickAttachedObject(parent)
+ : QQuickAttachedPropertyPropagator(parent)
{
- init();
+ initialize();
}
Style::~Style()
@@ -55,15 +55,15 @@ Style *Style::qmlAttachedProperties(QObject *object)
return new Style(object);
}
-void Style::init()
+void Style::initialize()
{
m_theme = StyleDefaults::instance()->data().theme;
m_accentColor = StyleDefaults::instance()->dataFromTheme(m_theme).accentColor;
- QQuickAttachedObject::init();
+ QQuickAttachedPropertyPropagator::initialize();
}
-void Style::attachedParentChange(QQuickAttachedObject *newParent, QQuickAttachedObject *oldParent)
+void Style::attachedParentChange(QQuickAttachedPropertyPropagator *newParent, QQuickAttachedPropertyPropagator *oldParent)
{
Q_UNUSED(oldParent);
Style* parentStyle = qobject_cast<Style *>(newParent);
@@ -125,7 +125,7 @@ bool Style::supportsMultipleThemes() const
void Style::propagateAccentColor()
{
- for (QQuickAttachedObject *child : attachedChildren()) {
+ for (QQuickAttachedPropertyPropagator *child : attachedChildren()) {
Style* basicStyle = qobject_cast<Style *>(child);
if (basicStyle)
basicStyle->setAccentColor(m_accentColor);
@@ -134,7 +134,7 @@ void Style::propagateAccentColor()
void Style::propagateTheme()
{
- for (QQuickAttachedObject *child : attachedChildren()) {
+ for (QQuickAttachedPropertyPropagator *child : attachedChildren()) {
Style* basicStyle = qobject_cast<Style *>(child);
if (basicStyle)
basicStyle->setTheme(static_cast<Theme>(m_theme));
diff --git a/plugins/style/Style.h b/plugins/style/Style.h
index c3f5ca55..995abbeb 100644
--- a/plugins/style/Style.h
+++ b/plugins/style/Style.h
@@ -33,10 +33,22 @@
#include "StyleData.h"
-#include <QtQuickControls2Impl/private/qquickattachedobject_p.h>
#include <QJSValue>
+#include <QQmlEngine>
-class Style : public QQuickAttachedObject
+#if QT_VERSION < QT_VERSION_CHECK(6, 5, 0)
+# include <QtQuickControls2/private/qquickstyle_p.h>
+class QQuickAttachedPropertyPropagator : public QQuickAttachedObject
+{
+protected:
+ void initialize() { QQuickAttachedObject::init(); }
+};
+
+#else
+# include <QtQuickControls2/QQuickAttachedPropertyPropagator>
+#endif
+
+class Style : public QQuickAttachedPropertyPropagator
{
Q_OBJECT
Q_PROPERTY(Theme theme READ theme WRITE setTheme NOTIFY themeChanged FINAL)
@@ -120,8 +132,8 @@ public:
QJSValue image();
protected:
- void init();
- void attachedParentChange(QQuickAttachedObject *newParent, QQuickAttachedObject *oldParent) override;
+ void initialize();
+ void attachedParentChange(QQuickAttachedPropertyPropagator *newParent, QQuickAttachedPropertyPropagator *oldParent) override;
signals:
void accentColorChanged();