From 995eb2c822b82eba8849fcd6dc7de465a7ca72f3 Mon Sep 17 00:00:00 2001 From: Robert Griebl Date: Tue, 27 Jun 2023 16:37:45 +0200 Subject: Add support for Qt 6.5 Change-Id: I5dd88d1f01b77b833f8d141ea689f7647ea420c7 Reviewed-by: Dominik Holland --- am-config-neptune.yaml | 4 +++- neptune3-ui.pro | 16 ++++++++-------- plugins/sizes/Sizes.cpp | 15 ++++++--------- plugins/sizes/Sizes.h | 19 +++++++++++++++---- plugins/style/Style.cpp | 14 +++++++------- plugins/style/Style.h | 20 ++++++++++++++++---- src/neptune-cluster-app/neptune-cluster-app.pro | 2 +- 7 files changed, 56 insertions(+), 34 deletions(-) diff --git a/am-config-neptune.yaml b/am-config-neptune.yaml index d173756c..9c1054f5 100644 --- a/am-config-neptune.yaml +++ b/am-config-neptune.yaml @@ -74,7 +74,9 @@ logging: - "qml*=true" - "cursor.navigation=false" - "qt3ds.*=false" - - "shared.com.pelagicore.map.info=false" - "*.info=true" + - "shared.com.pelagicore.map.info=false" + - "qt.qml.overloadresolution.info=false" + - "qt.qml.binding.removal.info=false" - "*.warning=true" - "*.critical=true" diff --git a/neptune3-ui.pro b/neptune3-ui.pro index 12cebc29..d953ae65 100644 --- a/neptune3-ui.pro +++ b/neptune3-ui.pro @@ -13,29 +13,29 @@ requires(qtHaveModule(appman_main-private)) log("$$escape_expand(\\n\\n) *** The qtsaferenderer module or tools are not available: Make sure that QtSafeRenderer is installed and configured correctly ***$$escape_expand(\\n\\n)") } -!qtHaveModule(studio3d){ +disable-studio3d|!qtHaveModule(studio3d){ log("$$escape_expand(\\n\\n)[Warning] The studio3d optional module is not available. $$escape_expand(\\n)[Warning] Neptune 3 UI can't show some 3D content made with Qt 3D Studio without this module.$$escape_expand(\\n)[Warning] To show this content install the ogl-runtime.$$escape_expand(\\n\\n)") } +TEMPLATE = subdirs +CONFIG *= ordered +SUBDIRS = src + enable-examples { - NEPTUNE3-UI_BUILD_PARTS = $$QT_BUILD_PARTS - NEPTUNE3-UI_BUILD_PARTS *= examples + SUBDIRS *= examples } enable-tests { - NEPTUNE3-UI_BUILD_PARTS = $$QT_BUILD_PARTS - NEPTUNE3-UI_BUILD_PARTS *= tests + SUBDIRS *= tests } -load(qt_parts) - include(config.pri) SUBDIRS += plugins SUBDIRS += doc copydata.file = copydata.pro -copydata.depends += sub_src +copydata.depends += src copydata.depends += plugins SUBDIRS += copydata 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 #include -#include - - 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(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(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 #include #include +#include -#include +#if QT_VERSION < QT_VERSION_CHECK(6, 5, 0) +# include +class QQuickAttachedPropertyPropagator : public QQuickAttachedObject +{ +protected: + void initialize() { QQuickAttachedObject::init(); } +}; + +#else +# include +#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 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