Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kf6-kquickcharts for openSUSE:Factory checked in at 2025-04-15 16:43:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kf6-kquickcharts (Old) and /work/SRC/openSUSE:Factory/.kf6-kquickcharts.new.1907 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-kquickcharts" Tue Apr 15 16:43:48 2025 rev:14 rq:1268867 version:6.13.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kf6-kquickcharts/kf6-kquickcharts.changes 2025-03-17 22:16:55.036785552 +0100 +++ /work/SRC/openSUSE:Factory/.kf6-kquickcharts.new.1907/kf6-kquickcharts.changes 2025-04-15 16:46:44.345197082 +0200 @@ -1,0 +2,13 @@ +Sat Apr 5 12:33:39 UTC 2025 - Christophe Marin <christo...@krop.fr> + +- Update to 6.13.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.13.0 +- Changes since 6.12.0: + * It compiles fine without qt6.9 deprecated methods + * controls: Use implicit size for layout calculations in AxisLabels + * controls: Use polish in AxisLabels instead of custom relayout queueing + * Update dependency version to 6.13.0 + +------------------------------------------------------------------- Old: ---- kquickcharts-6.12.0.tar.xz kquickcharts-6.12.0.tar.xz.sig New: ---- kquickcharts-6.13.0.tar.xz kquickcharts-6.13.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kf6-kquickcharts.spec ++++++ --- /var/tmp/diff_new_pack.4YtauW/_old 2025-04-15 16:46:45.713254367 +0200 +++ /var/tmp/diff_new_pack.4YtauW/_new 2025-04-15 16:46:45.717254534 +0200 @@ -1,7 +1,7 @@ # # spec file for package kf6-kquickcharts # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,13 +19,13 @@ %define qt6_version 6.7.0 %define rname kquickcharts -# Full KF6 version (e.g. 6.9.0) +# Full KF6 version (e.g. 6.13.0) %{!?_kf6_version: %global _kf6_version %{version}} # Last major and minor KF6 version (e.g. 6.0) %{!?_kf6_bugfix_version: %define _kf6_bugfix_version %(echo %{_kf6_version} | awk -F. '{print $1"."$2}')} %bcond_without released Name: kf6-kquickcharts -Version: 6.12.0 +Version: 6.13.0 Release: 0 Summary: Set of charts for QtQuick applications License: LGPL-2.1-or-later ++++++ kquickcharts-6.12.0.tar.xz -> kquickcharts-6.13.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kquickcharts-6.12.0/CMakeLists.txt new/kquickcharts-6.13.0/CMakeLists.txt --- old/kquickcharts-6.12.0/CMakeLists.txt 2025-03-07 15:27:44.000000000 +0100 +++ new/kquickcharts-6.13.0/CMakeLists.txt 2025-04-04 16:02:49.000000000 +0200 @@ -1,12 +1,12 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "6.12.0") # handled by release scripts -set(KF_DEP_VERSION "6.12.0") # handled by release scripts +set(KF_VERSION "6.13.0") # handled by release scripts +set(KF_DEP_VERSION "6.13.0") # handled by release scripts project(KQuickCharts VERSION ${KF_VERSION}) include(FeatureSummary) -find_package(ECM 6.12.0 NO_MODULE) +find_package(ECM 6.13.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) @@ -33,7 +33,7 @@ set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") ecm_set_disabled_deprecation_versions( - QT 6.8.0 + QT 6.9.0 ) ecm_setup_version( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kquickcharts-6.12.0/controls/AxisLabels.cpp new/kquickcharts-6.13.0/controls/AxisLabels.cpp --- old/kquickcharts-6.12.0/controls/AxisLabels.cpp 2025-03-07 15:27:44.000000000 +0100 +++ new/kquickcharts-6.13.0/controls/AxisLabels.cpp 2025-04-04 16:02:49.000000000 +0200 @@ -52,7 +52,7 @@ : QQuickItem(parent) { m_itemBuilder = std::make_unique<ItemBuilder>(); - connect(m_itemBuilder.get(), &ItemBuilder::finished, this, &AxisLabels::scheduleLayout); + connect(m_itemBuilder.get(), &ItemBuilder::finished, this, &AxisLabels::polish); connect(m_itemBuilder.get(), &ItemBuilder::beginCreate, this, &AxisLabels::onBeginCreate); } @@ -70,7 +70,7 @@ } m_direction = newDirection; - scheduleLayout(); + polish(); Q_EMIT directionChanged(); } @@ -129,7 +129,7 @@ } m_alignment = newAlignment; - scheduleLayout(); + polish(); Q_EMIT alignmentChanged(); } @@ -145,51 +145,13 @@ } m_constrainToBounds = newConstrainToBounds; - scheduleLayout(); + polish(); Q_EMIT constrainToBoundsChanged(); } -void AxisLabels::geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry) -{ - QQuickItem::geometryChange(newGeometry, oldGeometry); - - if (newGeometry != oldGeometry) { - scheduleLayout(); - } -} - -void AxisLabels::scheduleLayout() -{ - if (!m_layoutScheduled) { - auto scheduleLayoutLambda = [this]() { - layout(); - m_layoutScheduled = false; - }; - QMetaObject::invokeMethod(this, scheduleLayoutLambda, Qt::QueuedConnection); - m_layoutScheduled = true; - } -} - -bool AxisLabels::isHorizontal() -{ - return m_direction == Direction::HorizontalLeftRight || m_direction == Direction::HorizontalRightLeft; -} - -void AxisLabels::updateLabels() -{ - m_itemBuilder->clear(); - - if (!m_itemBuilder->component() || !m_source) { - return; - } - - m_itemBuilder->setCount(m_source->itemCount()); - m_itemBuilder->build(this); -} -void AxisLabels::layout() +void AxisLabels::updatePolish() { if (!m_itemBuilder->isFinished()) { - scheduleLayout(); return; } @@ -200,10 +162,10 @@ auto labels = m_itemBuilder->items(); for (auto label : labels) { - maxWidth = std::max(maxWidth, label->width()); - maxHeight = std::max(maxHeight, label->height()); - totalWidth += label->width(); - totalHeight += label->height(); + maxWidth = std::max(maxWidth, label->implicitWidth()); + maxHeight = std::max(maxHeight, label->implicitHeight()); + totalWidth += label->implicitWidth(); + totalHeight += label->implicitHeight(); } auto impWidth = isHorizontal() ? totalWidth : maxWidth; @@ -213,8 +175,7 @@ return; } - setImplicitWidth(impWidth); - setImplicitHeight(impHeight); + setImplicitSize(impWidth, impHeight); auto spacing = (isHorizontal() ? width() : height()) / (labels.size() - 1); auto i = 0; @@ -241,44 +202,61 @@ } if (m_alignment & Qt::AlignHCenter) { - x += (layoutWidth - label->width()) / 2; + x += (layoutWidth - label->implicitWidth()) / 2; } else if (m_alignment & Qt::AlignRight) { - x += layoutWidth - label->width(); + x += layoutWidth - label->implicitWidth(); } if (m_alignment & Qt::AlignVCenter) { - y += (layoutHeight - label->height()) / 2; + y += (layoutHeight - label->implicitHeight()) / 2; } else if (m_alignment & Qt::AlignBottom) { - y += layoutHeight - label->height(); + y += layoutHeight - label->implicitHeight(); } if (m_constrainToBounds) { x = std::max(x, 0.0); - x = x + label->width() > width() ? width() - label->width() : x; + x = x + label->implicitWidth() > width() ? width() - label->implicitWidth() : x; y = std::max(y, 0.0); - y = y + label->height() > height() ? height() - label->height() : y; + y = y + label->implicitHeight() > height() ? height() - label->implicitHeight() : y; } label->setX(x); label->setY(y); + i++; } } +void AxisLabels::geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry) +{ + QQuickItem::geometryChange(newGeometry, oldGeometry); + + if (newGeometry != oldGeometry) { + polish(); + } +} + +bool AxisLabels::isHorizontal() +{ + return m_direction == Direction::HorizontalLeftRight || m_direction == Direction::HorizontalRightLeft; +} + +void AxisLabels::updateLabels() +{ + m_itemBuilder->clear(); + + if (!m_itemBuilder->component() || !m_source) { + return; + } + + m_itemBuilder->setCount(m_source->itemCount()); + m_itemBuilder->build(this); +} + void AxisLabels::onBeginCreate(int index, QQuickItem *item) { - QObject::connect(item, &QQuickItem::xChanged, this, [this]() { - scheduleLayout(); - }); - QObject::connect(item, &QQuickItem::yChanged, this, [this]() { - scheduleLayout(); - }); - QObject::connect(item, &QQuickItem::widthChanged, this, [this]() { - scheduleLayout(); - }); - QObject::connect(item, &QQuickItem::heightChanged, this, [this]() { - scheduleLayout(); - }); + QObject::connect(item, &QQuickItem::implicitWidthChanged, this, &AxisLabels::polish); + QObject::connect(item, &QQuickItem::implicitHeightChanged, this, &AxisLabels::polish); auto attached = static_cast<AxisLabelsAttached *>(qmlAttachedPropertiesObject<AxisLabels>(item, true)); attached->setIndex(index); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kquickcharts-6.12.0/controls/AxisLabels.h new/kquickcharts-6.13.0/controls/AxisLabels.h --- old/kquickcharts-6.12.0/controls/AxisLabels.h 2025-03-07 15:27:44.000000000 +0100 +++ new/kquickcharts-6.13.0/controls/AxisLabels.h 2025-04-04 16:02:49.000000000 +0200 @@ -89,13 +89,12 @@ } protected: + void updatePolish() override; void geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry) override; private: - void scheduleLayout(); bool isHorizontal(); void updateLabels(); - void layout(); void onBeginCreate(int index, QQuickItem *item); Direction m_direction = Direction::HorizontalLeftRight;