Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package union6 for openSUSE:Factory checked in at 2026-10-29 16:05:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/union6 (Old) and /work/SRC/openSUSE:Factory/.union6.new.1255 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "union6" Thu Oct 29 16:05:37 2026 rev:9 rq:1393361 version:6.8.2 Changes: -------- --- /work/SRC/openSUSE:Factory/union6/union6.changes 2026-10-22 15:49:21.355738008 +0200 +++ /work/SRC/openSUSE:Factory/.union6.new.1255/union6.changes 2026-10-29 16:07:12.484245867 +0100 @@ -1,0 +2,20 @@ +Tue Oct 27 18:10:21 UTC 2026 - Christophe Marin <[email protected]> + +- Update to 6.8.2 + * New bugfix release + * For more details please see: + * https://kde.org/announcements/plasma/6/6.8.2 +- Changes since 6.8.1: + * Update version for new release 6.8.2 + * AbstractElement: Set elementQuery at construction + * IndicatorElement: Set indicator values at construction + * TabElement: set hSpace and vSpace at construction + * AbstractElement: Check if we already have this element and update it + * output/widgets: scale the widget animation duration with the animation speed (kde#527527) + * output/quick: Explicitly set the Style instance for TextArea's background (kde#527455) + * input/css/breeze: Only round delegate backgrounds in list when highlighted (kde#527087) + * output/quick: Also consider parent for inside-{list,table} hints + * input/css/breeze: Use large spacing for menubar item horizontal padding (kde#527213) + * output/widgets: Don't dereference potential nullptr value (kde#527459) + +------------------------------------------------------------------- Old: ---- union-6.8.1.tar.xz union-6.8.1.tar.xz.sig New: ---- union-6.8.2.tar.xz union-6.8.2.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ union6.spec ++++++ --- /var/tmp/diff_new_pack.4Jeel9/_old 2026-10-29 16:07:13.309280457 +0100 +++ /var/tmp/diff_new_pack.4Jeel9/_new 2026-10-29 16:07:13.310280499 +0100 @@ -26,7 +26,7 @@ %{!?_plasma6_version: %define _plasma6_version %(echo %{_plasma6_bugfix} | awk -F. '{print $1"."$2}')} %bcond_without released Name: union6 -Version: 6.8.1 +Version: 6.8.2 Release: 0 Summary: Qt style supporting both QtQuick and QtWidgets License: LGPL-2.1-or-later ++++++ union-6.8.1.tar.xz -> union-6.8.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/union-6.8.1/CMakeLists.txt new/union-6.8.2/CMakeLists.txt --- old/union-6.8.1/CMakeLists.txt 2026-10-20 11:13:08.000000000 +0200 +++ new/union-6.8.2/CMakeLists.txt 2026-10-27 12:35:55.000000000 +0100 @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.27) -set(PROJECT_VERSION "6.8.1") # handled by release scripts +set(PROJECT_VERSION "6.8.2") # handled by release scripts set(KF6_MIN_VERSION "6.30.0") # handled by release scripts set(CSS_PARSER_VERSION "1.1.0") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/union-6.8.1/src/input/css/styles/breeze/contents/css/delegate.css new/union-6.8.2/src/input/css/styles/breeze/contents/css/delegate.css --- old/union-6.8.1/src/input/css/styles/breeze/contents/css/delegate.css 2026-10-20 11:13:08.000000000 +0200 +++ new/union-6.8.2/src/input/css/styles/breeze/contents/css/delegate.css 2026-10-27 12:35:55.000000000 +0100 @@ -73,13 +73,18 @@ text-wrap-mode: no-wrap; } - &.inside-list { - &.hover-enabled { + &.inside-list.hover-enabled { + &:hovered, + &:active-focus, + &:pressed, + &:highlighted + { inset: var(--delegate-spacing); inset-bottom: 0px; border-radius: var(--corner-radius); &.last-in-list { + padding-bottom: var(--delegate-total-padding); inset-bottom: var(--delegate-spacing); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/union-6.8.1/src/input/css/styles/breeze/contents/css/popup.css new/union-6.8.2/src/input/css/styles/breeze/contents/css/popup.css --- old/union-6.8.1/src/input/css/styles/breeze/contents/css/popup.css 2026-10-20 11:13:08.000000000 +0200 +++ new/union-6.8.2/src/input/css/styles/breeze/contents/css/popup.css 2026-10-27 12:35:55.000000000 +0100 @@ -163,8 +163,7 @@ { width: var(--medium-element-size); height: var(--medium-element-size); - padding: var(--small-spacing); - spacing: var(--small-spacing); + padding: var(--large-spacing) var(--medium-spacing); border-radius: var(--corner-radius); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/union-6.8.1/src/output/qtquick/style/CheckDelegate.qml new/union-6.8.2/src/output/qtquick/style/CheckDelegate.qml --- old/union-6.8.1/src/output/qtquick/style/CheckDelegate.qml 2026-10-20 11:13:08.000000000 +0200 +++ new/union-6.8.2/src/output/qtquick/style/CheckDelegate.qml 2026-10-27 12:35:55.000000000 +0100 @@ -28,8 +28,8 @@ Union.Element.hints: [ Union.ElementHint { name: "with-icon"; when: control.icon.name || control.icon.source.toString() }, Union.ElementHint { name: "hover-enabled"; when: control.hoverEnabled }, - Union.ElementHint { name: "inside-list"; when: control.ListView?.view }, - Union.ElementHint { name: "inside-table"; when: control.TableView?.view }, + Union.ElementHint { name: "inside-list"; when: control.ListView?.view || control.parent?.ListView.view }, + Union.ElementHint { name: "inside-table"; when: control.TableView?.view || control.parent?.TableView.view }, Union.ElementHint { name: "alternating-colors"; when: control.__alternatingColors }, Union.ElementHint { name: "changed"; when: false }, Union.ElementHint { name: "last-in-list"; when: typeof index !== "undefined" && control.ListView.view && index == control.ListView.view.count - 1 }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/union-6.8.1/src/output/qtquick/style/ItemDelegate.qml new/union-6.8.2/src/output/qtquick/style/ItemDelegate.qml --- old/union-6.8.1/src/output/qtquick/style/ItemDelegate.qml 2026-10-20 11:13:08.000000000 +0200 +++ new/union-6.8.2/src/output/qtquick/style/ItemDelegate.qml 2026-10-27 12:35:55.000000000 +0100 @@ -31,8 +31,8 @@ Union.Element.hints: [ Union.ElementHint { name: "with-icon"; when: control.icon.name || control.icon.source.toString() }, Union.ElementHint { name: "hover-enabled"; when: control.hoverEnabled }, - Union.ElementHint { name: "inside-list"; when: control.ListView?.view }, - Union.ElementHint { name: "inside-table"; when: control.TableView?.view }, + Union.ElementHint { name: "inside-list"; when: control.ListView?.view || control.parent?.ListView.view }, + Union.ElementHint { name: "inside-table"; when: control.TableView?.view || control.parent?.TableView.view }, Union.ElementHint { name: "alternating-colors"; when: control.__alternatingColors }, Union.ElementHint { name: "changed"; when: false }, Union.ElementHint { name: "last-in-list"; when: typeof index !== "undefined" && control.ListView.view && index == control.ListView.view.count - 1 } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/union-6.8.1/src/output/qtquick/style/RadioDelegate.qml new/union-6.8.2/src/output/qtquick/style/RadioDelegate.qml --- old/union-6.8.1/src/output/qtquick/style/RadioDelegate.qml 2026-10-20 11:13:08.000000000 +0200 +++ new/union-6.8.2/src/output/qtquick/style/RadioDelegate.qml 2026-10-27 12:35:55.000000000 +0100 @@ -27,8 +27,8 @@ Union.Element.hints: [ Union.ElementHint { name: "with-icon"; when: control.icon.name || control.icon.source.toString() }, Union.ElementHint { name: "hover-enabled"; when: control.hoverEnabled }, - Union.ElementHint { name: "inside-list"; when: control.ListView?.view }, - Union.ElementHint { name: "inside-table"; when: control.TableView?.view }, + Union.ElementHint { name: "inside-list"; when: control.ListView?.view || control.parent?.ListView.view }, + Union.ElementHint { name: "inside-table"; when: control.TableView?.view || control.parent?.TableView.view }, Union.ElementHint { name: "alternating-colors"; when: control.__alternatingColors }, Union.ElementHint { name: "changed"; when: false }, Union.ElementHint { name: "last-in-list"; when: typeof index !== "undefined" && control.ListView.view && index == control.ListView.view.count - 1 }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/union-6.8.1/src/output/qtquick/style/SwitchDelegate.qml new/union-6.8.2/src/output/qtquick/style/SwitchDelegate.qml --- old/union-6.8.1/src/output/qtquick/style/SwitchDelegate.qml 2026-10-20 11:13:08.000000000 +0200 +++ new/union-6.8.2/src/output/qtquick/style/SwitchDelegate.qml 2026-10-27 12:35:55.000000000 +0100 @@ -27,8 +27,8 @@ Union.Element.hints: [ Union.ElementHint { name: "with-icon"; when: control.icon.name || control.icon.source.toString() }, Union.ElementHint { name: "hover-enabled"; when: control.hoverEnabled }, - Union.ElementHint { name: "inside-list"; when: control.ListView?.view }, - Union.ElementHint { name: "inside-table"; when: control.TableView?.view }, + Union.ElementHint { name: "inside-list"; when: control.ListView?.view || control.parent?.ListView.view }, + Union.ElementHint { name: "inside-table"; when: control.TableView?.view || control.parent?.TableView.view }, Union.ElementHint { name: "alternating-colors"; when: control.__alternatingColors }, Union.ElementHint { name: "changed"; when: false }, Union.ElementHint { name: "last-in-list"; when: typeof index !== "undefined" && control.ListView.view && index == control.ListView.view.count - 1 }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/union-6.8.1/src/output/qtquick/style/TextArea.qml new/union-6.8.2/src/output/qtquick/style/TextArea.qml --- old/union-6.8.1/src/output/qtquick/style/TextArea.qml 2026-10-20 11:13:08.000000000 +0200 +++ new/union-6.8.2/src/output/qtquick/style/TextArea.qml 2026-10-27 12:35:55.000000000 +0100 @@ -72,7 +72,13 @@ renderType: control.renderType } - background: Union.StyledRectangle {} + background: Union.StyledRectangle { + // Controls TextArea will reparent the background to the parent if the + // parent is a flickable. This then results in the background losing the + // relation to the main TextArea. Ensure we read the right properties + // for the background regardless of the parent. + style: control.Union.Style + } T.ContextMenu.menu: P.TextFieldContextMenu { target: control diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/union-6.8.1/src/output/qtwidgets/UnionStyle.cpp new/union-6.8.2/src/output/qtwidgets/UnionStyle.cpp --- old/union-6.8.1/src/output/qtwidgets/UnionStyle.cpp 2026-10-20 11:13:08.000000000 +0200 +++ new/union-6.8.2/src/output/qtwidgets/UnionStyle.cpp 2026-10-27 12:35:55.000000000 +0100 @@ -623,7 +623,8 @@ case SH_Menu_SupportsSections: return true; case SH_Widget_Animation_Duration: - return 150; + // 0 when the animation speed is set to instantaneous, which turns the animations off. + return qRound(150 * Union::StyleRegistry::instance()->platform()->animationSpeedMultiplier()); case SH_DialogButtonBox_ButtonsHaveIcons: return true; case SH_GroupBox_TextLabelVerticalAlignment: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/union-6.8.1/src/output/qtwidgets/elements/AbstractElement.cpp new/union-6.8.2/src/output/qtwidgets/elements/AbstractElement.cpp --- old/union-6.8.1/src/output/qtwidgets/elements/AbstractElement.cpp 2026-10-20 11:13:08.000000000 +0200 +++ new/union-6.8.2/src/output/qtwidgets/elements/AbstractElement.cpp 2026-10-27 12:35:55.000000000 +0100 @@ -5,7 +5,6 @@ #include "SharedNames.h" #include "UnionStyle.h" #include "qtwidgets_logging.h" -#include <ElementQuery.h> #include <QApplication> #include <QDebug> #include <QPainter> @@ -20,6 +19,7 @@ , m_styleOption(option) , m_style(style) , m_widget(widget) + , m_elementQuery(std::make_unique<Union::ElementQuery>(Union::StyleRegistry::instance()->defaultStyle())) { } @@ -485,11 +485,10 @@ Union::Properties::StylePropertyGroup *AbstractElement::queryProperties(const Union::ElementList &elements) const { Q_ASSERT(!elements.isEmpty()); - const auto style = Union::StyleRegistry::instance()->defaultStyle(); - const auto query = std::make_unique<Union::ElementQuery>(style); - query->setElements(elements); - query->execute(); - return query->properties(); + + m_elementQuery->setElements(elements); + m_elementQuery->execute(); + return m_elementQuery->properties(); } QMap<QString, LayoutItem> AbstractElement::layoutMap(const Union::ElementList &elements, const QStyleOption *opt, const QStringList &subElementList) const @@ -501,7 +500,7 @@ // If subelement list is empty, just use default widget item. // This ensures any custom components get layouted too. if (subElements.empty()) { - qCDebug(UNION_QTWIDGETS) << "No sublements given, using Widget placeholder for" << elements << opt->type << opt->styleObject; + qCDebug(UNION_QTWIDGETS) << "No subelements given, using Widget placeholder for" << elements; subElements = {ElementString::Widget}; } @@ -641,8 +640,17 @@ Union::Element::Ptr AbstractElement::createElement(const QString &name) const { - auto unionElement = Union::Element::create(); - unionElement->setType(name); + Union::Element::Ptr unionElement; + auto itr = std::find_if(m_backgroundElementList.begin(), m_backgroundElementList.end(), [name](const Union::Element::Ptr &element) { + return (element && element->type() == name); + }); + if (itr == m_backgroundElementList.end()) { + unionElement = Union::Element::create(); + unionElement->setType(name); + } else { + unionElement = *(itr); + } + unionElement->setStates(elementStates()); unionElement->setAttributes(elementAttributes()); auto hints = elementHints(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/union-6.8.1/src/output/qtwidgets/elements/AbstractElement.h new/union-6.8.2/src/output/qtwidgets/elements/AbstractElement.h --- old/union-6.8.1/src/output/qtwidgets/elements/AbstractElement.h 2026-10-20 11:13:08.000000000 +0200 +++ new/union-6.8.2/src/output/qtwidgets/elements/AbstractElement.h 2026-10-27 12:35:55.000000000 +0100 @@ -6,6 +6,7 @@ #include "BackgroundDrawing.h" #include "StyleUtils.h" #include "qtwidgets_logging.h" +#include <ElementQuery.h> #include <QIcon> #include <QObject> #include <QStyleOption> @@ -262,6 +263,7 @@ LayoutBucket createBucket(const QList<LayoutItem> &items, const BucketType &type, const QRectF &containerRect) const; QRectF resizeBucket(const LayoutBucket &bucket) const; void mapBucketItems(LayoutBucket &bucket, QMap<QString, LayoutItem> &map) const; + std::unique_ptr<Union::ElementQuery> m_elementQuery; }; Q_DECLARE_OPERATORS_FOR_FLAGS(AbstractElement::AbstractElementFlags); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/union-6.8.1/src/output/qtwidgets/elements/IndicatorElement.cpp new/union-6.8.2/src/output/qtwidgets/elements/IndicatorElement.cpp --- old/union-6.8.1/src/output/qtwidgets/elements/IndicatorElement.cpp 2026-10-20 11:13:08.000000000 +0200 +++ new/union-6.8.2/src/output/qtwidgets/elements/IndicatorElement.cpp 2026-10-27 12:35:55.000000000 +0100 @@ -16,6 +16,13 @@ : AbstractElement(option, style, widget) , m_indicatorOption(option) { + m_listViewIconSize = querySize({ElementString::ListViewIconSize}).width(); + m_smallIconSize = querySize({ElementString::SmallIconSize}).width(); + m_iconViewIconSize = querySize({ElementString::IconViewIconSize}).width(); + m_largeIconSize = querySize({ElementString::LargeIconSize}).width(); + m_messageBoxIconSize = querySize({ElementString::MessageBoxIconSize}).width(); + m_textCursorWidth = querySize({ElementString::TextCursorWidth}).width(); + m_isValid = true; } @@ -59,17 +66,17 @@ { switch (pixelMetric) { case QStyle::PM_ListViewIconSize: - return querySize({ElementString::ListViewIconSize}).width(); + return m_listViewIconSize; case QStyle::PM_SmallIconSize: - return querySize({ElementString::SmallIconSize}).width(); + return m_smallIconSize; case QStyle::PM_IconViewIconSize: - return querySize({ElementString::IconViewIconSize}).width(); + return m_iconViewIconSize; case QStyle::PM_LargeIconSize: - return querySize({ElementString::LargeIconSize}).width(); + return m_largeIconSize; case QStyle::PM_MessageBoxIconSize: - return querySize({ElementString::MessageBoxIconSize}).width(); + return m_messageBoxIconSize; case QStyle::PM_TextCursorWidth: - return querySize({ElementString::TextCursorWidth}).width(); + return m_textCursorWidth; default: break; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/union-6.8.1/src/output/qtwidgets/elements/IndicatorElement.h new/union-6.8.2/src/output/qtwidgets/elements/IndicatorElement.h --- old/union-6.8.1/src/output/qtwidgets/elements/IndicatorElement.h 2026-10-20 11:13:08.000000000 +0200 +++ new/union-6.8.2/src/output/qtwidgets/elements/IndicatorElement.h 2026-10-27 12:35:55.000000000 +0100 @@ -49,4 +49,10 @@ const QStyleOption *m_indicatorOption = nullptr; void drawElement(QPainter *painter, const QString &defaultIconName, QStringList targetHierarchy) const; + int m_listViewIconSize = 0; + int m_smallIconSize = 0; + int m_iconViewIconSize = 0; + int m_largeIconSize = 0; + int m_messageBoxIconSize = 0; + int m_textCursorWidth = 0; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/union-6.8.1/src/output/qtwidgets/elements/TabElement.cpp new/union-6.8.2/src/output/qtwidgets/elements/TabElement.cpp --- old/union-6.8.1/src/output/qtwidgets/elements/TabElement.cpp 2026-10-20 11:13:08.000000000 +0200 +++ new/union-6.8.2/src/output/qtwidgets/elements/TabElement.cpp 2026-10-27 12:35:55.000000000 +0100 @@ -18,9 +18,13 @@ , m_tabOption(option) , m_isVertical(false) , m_isStatic(false) + , m_hSpace(0) + , m_vSpace(0) { setFlag(AbstractElementFlag::ContentsSizeIncludesAveragePadding); update(); + m_hSpace = hSpace(); + m_vSpace = vSpace(); } TabElement::~TabElement() @@ -299,9 +303,9 @@ { switch (pixelMetric) { case QStyle::PM_TabBarTabHSpace: - return hSpace(); + return m_hSpace; case QStyle::PM_TabBarTabVSpace: - return vSpace(); + return m_vSpace; default: break; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/union-6.8.1/src/output/qtwidgets/elements/TabElement.h new/union-6.8.2/src/output/qtwidgets/elements/TabElement.h --- old/union-6.8.1/src/output/qtwidgets/elements/TabElement.h 2026-10-20 11:13:08.000000000 +0200 +++ new/union-6.8.2/src/output/qtwidgets/elements/TabElement.h 2026-10-27 12:35:55.000000000 +0100 @@ -55,6 +55,8 @@ const QStyleOptionTab *m_tabOption = nullptr; bool m_isVertical; bool m_isStatic; + int m_hSpace; + int m_vSpace; int hSpace() const; int vSpace() const; };
