diff options
author | Robert Griebl <[email protected]> | 2023-06-27 16:37:45 +0200 |
---|---|---|
committer | Robert Griebl <[email protected]> | 2023-06-27 14:51:12 +0000 |
commit | 995eb2c822b82eba8849fcd6dc7de465a7ca72f3 (patch) | |
tree | d7e6f4936c70284038ba93f21d37da9ed2d99698 /plugins | |
parent | 7f3bda0bdc9c4c1c704fbcf8585e3470f9f9e9f5 (diff) |
Change-Id: I5dd88d1f01b77b833f8d141ea689f7647ea420c7
Reviewed-by: Dominik Holland <[email protected]>
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/sizes/Sizes.cpp | 15 | ||||
-rw-r--r-- | plugins/sizes/Sizes.h | 19 | ||||
-rw-r--r-- | plugins/style/Style.cpp | 14 | ||||
-rw-r--r-- | plugins/style/Style.h | 20 |
4 files changed, 44 insertions, 24 deletions
diff --git a/plugins/sizes/Sizes.cpp b/plugins/sizes/Sizes.cpp index 3a646b2b..d6fbc4b5 100644 --- a/plugins/sizes/Sizes.cpp +++ b/plugins/sizes/Sizes.cpp @@ -35,9 +35,6 @@ #include <QtGui/QGuiApplication> #include <QQmlEngine> -#include <QtQuickControls2/private/qquickstyle_p.h> - - class StyleData { public: @@ -80,10 +77,10 @@ public: static StyleData GlobalStyleData; Sizes::Sizes(QObject *parent) - : QQuickAttachedObject(parent) + : QQuickAttachedPropertyPropagator(parent) , m_data(new StyleData(GlobalStyleData)) { - init(); + initialize(); } Sizes::~Sizes() @@ -130,13 +127,13 @@ int Sizes::fontSizeXXL() const return qRound(m_data->fontSizeXXL * m_data->scale); } -void Sizes::init() +void Sizes::initialize() { m_data.reset(new StyleData(GlobalStyleData)); - QQuickAttachedObject::init(); + QQuickAttachedPropertyPropagator::initialize(); } -void Sizes::attachedParentChange(QQuickAttachedObject *newParent, QQuickAttachedObject *oldParent) +void Sizes::attachedParentChange(QQuickAttachedPropertyPropagator *newParent, QQuickAttachedPropertyPropagator *oldParent) { Q_UNUSED(oldParent) Sizes* neptune = qobject_cast<Sizes *>(newParent); @@ -181,7 +178,7 @@ void Sizes::setScale(qreal value) void Sizes::propagateScale() { - for (QQuickAttachedObject *child : attachedChildren()) { + for (QQuickAttachedPropertyPropagator *child : attachedChildren()) { Sizes* neptune = qobject_cast<Sizes *>(child); if (neptune && !qFuzzyCompare(neptune->scale(), m_data->scale)) neptune->setScale(m_data->scale); diff --git a/plugins/sizes/Sizes.h b/plugins/sizes/Sizes.h index bc8af3c9..05c057bb 100644 --- a/plugins/sizes/Sizes.h +++ b/plugins/sizes/Sizes.h @@ -35,12 +35,23 @@ #include <QtCore/QSharedPointer> #include <QtCore/QScopedPointer> #include <QJSValue> +#include <QQmlEngine> -#include <QtQuickControls2Impl/private/qquickattachedobject_p.h> +#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 StyleData; -class Sizes : public QQuickAttachedObject +class Sizes : public QQuickAttachedPropertyPropagator { Q_OBJECT @@ -96,7 +107,7 @@ public: QJSValue dp() const; protected: - void init(); + void initialize(); signals: void scaleChanged(); @@ -105,7 +116,7 @@ private: mutable QJSValue m_dp; protected: - void attachedParentChange(QQuickAttachedObject *newParent, QQuickAttachedObject *oldParent) override; + void attachedParentChange(QQuickAttachedPropertyPropagator *newParent, QQuickAttachedPropertyPropagator *oldParent) override; void inheritStyle(const StyleData &data); void propagateStyle(const StyleData &data); void propagateScale(); 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(); |