Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qqc2-desktop-style for openSUSE:Factory checked in at 2022-10-11 18:00:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qqc2-desktop-style (Old) and /work/SRC/openSUSE:Factory/.qqc2-desktop-style.new.2275 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qqc2-desktop-style" Tue Oct 11 18:00:39 2022 rev:63 rq:1009039 version:5.99.0 Changes: -------- --- /work/SRC/openSUSE:Factory/qqc2-desktop-style/qqc2-desktop-style.changes 2022-09-13 15:10:56.924906060 +0200 +++ /work/SRC/openSUSE:Factory/.qqc2-desktop-style.new.2275/qqc2-desktop-style.changes 2022-10-11 18:02:46.645815904 +0200 @@ -1,0 +2,26 @@ +Sat Oct 1 15:56:17 UTC 2022 - Christophe Giboudeaux <christo...@krop.fr> + +- Update to 5.99.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/5/5.99.0 +- Changes since 5.98.0: + * ToolTip: Don't strip ampersands from HTML entities + * Grammar & typo in README.md + * Also check for controlRoot.size > 0 (kde#458486) + * ToolTip: use Text.Wrap, not Text.WordWrap (kde#459331) + * ToolButton: Do not layout for the icon when it's not set (kde#459470) + * ProgressBar: Add TODO KF6, since we can't remove the workaround now + * Add fade in/out animations to ToolTips + * SpinBox: Flip left/right padding for styles with indicators on the sides + * SpinBox: Avoid explicit horizontalAlignment in TextField for better RTL + * SpinBox: Remove assignment which is never read + * SpinBox: Reset activeSubControls when neither of indicators are active (kde#459004) + * SpinBox: Let hover events propagate through TextField to the control (kde#459004) + * SpinBox: Reformat QML for better code style and clarity + * SpinBox: AlignLeft by default + * SpinBox: Use implicit size based on the max value + * SpinBox: move onTextEdited to contentItem, check acceptableInput + * SpinBox: update imports + +------------------------------------------------------------------- Old: ---- qqc2-desktop-style-5.98.0.tar.xz qqc2-desktop-style-5.98.0.tar.xz.sig New: ---- qqc2-desktop-style-5.99.0.tar.xz qqc2-desktop-style-5.99.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qqc2-desktop-style.spec ++++++ --- /var/tmp/diff_new_pack.Nty0dJ/_old 2022-10-11 18:02:47.629817494 +0200 +++ /var/tmp/diff_new_pack.Nty0dJ/_new 2022-10-11 18:02:47.633817501 +0200 @@ -16,11 +16,11 @@ # -%define _tar_path 5.98 +%define _tar_path 5.99 # Only needed for the package signature condition %bcond_without released Name: qqc2-desktop-style -Version: 5.98.0 +Version: 5.99.0 Release: 0 Summary: A Qt Quick Controls 2 Style for Desktop UIs License: GPL-2.0-or-later ++++++ qqc2-desktop-style-5.98.0.tar.xz -> qqc2-desktop-style-5.99.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.98.0/CMakeLists.txt new/qqc2-desktop-style-5.99.0/CMakeLists.txt --- old/qqc2-desktop-style-5.98.0/CMakeLists.txt 2022-09-05 11:33:03.000000000 +0200 +++ new/qqc2-desktop-style-5.99.0/CMakeLists.txt 2022-10-01 15:23:43.000000000 +0200 @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "5.98.0") # handled by release scripts -set(KF_DEP_VERSION "5.98.0") # handled by release scripts +set(KF_VERSION "5.99.0") # handled by release scripts +set(KF_DEP_VERSION "5.99.0") # handled by release scripts project(qqc2-desktop-style VERSION ${KF_VERSION}) @@ -21,7 +21,7 @@ ################# set KDE specific information ################# -find_package(ECM 5.98.0 REQUIRED NO_MODULE) +find_package(ECM 5.99.0 REQUIRED NO_MODULE) # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.98.0/README.md new/qqc2-desktop-style-5.99.0/README.md --- old/qqc2-desktop-style-5.98.0/README.md 2022-09-05 11:33:03.000000000 +0200 +++ new/qqc2-desktop-style-5.99.0/README.md 2022-10-01 15:23:43.000000000 +0200 @@ -4,6 +4,6 @@ ## Introduction -This is a style for QtQuickControls 2 that uses QWidget's QStyle for painting, making possible to achieve an higher deree of consistency between QWidget-based and QML-based apps. +This is a style for QtQuickControls 2 that uses QWidget's QStyle for painting, making it possible to achieve an higher degree of consistency between QWidget-based and QML-based apps. NOTE: the application must be a QApplication rather than a QGuiApplication instance in order for this style to be used diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.98.0/org.kde.desktop/ProgressBar.qml new/qqc2-desktop-style-5.99.0/org.kde.desktop/ProgressBar.qml --- old/qqc2-desktop-style-5.98.0/org.kde.desktop/ProgressBar.qml 2022-09-05 11:33:03.000000000 +0200 +++ new/qqc2-desktop-style-5.99.0/org.kde.desktop/ProgressBar.qml 2022-10-01 15:23:43.000000000 +0200 @@ -34,6 +34,9 @@ horizontal: true enabled: controlRoot.enabled + // TODO KF6: Remove this workaround. + // See https://invent.kde.org/frameworks/qqc2-desktop-style/-/merge_requests/179 + // // ScriptAction refuses to run on its own. So we add a NumberAnimation // with non-zero duration to make it tied to a monitor refresh rate. // See git history for more (e.g. why not PauseAnimation) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.98.0/org.kde.desktop/ScrollBar.qml new/qqc2-desktop-style-5.99.0/org.kde.desktop/ScrollBar.qml --- old/qqc2-desktop-style-5.98.0/org.kde.desktop/ScrollBar.qml 2022-09-05 11:33:03.000000000 +0200 +++ new/qqc2-desktop-style-5.99.0/org.kde.desktop/ScrollBar.qml 2022-10-01 15:23:43.000000000 +0200 @@ -27,7 +27,7 @@ Binding on visible { delayed: true restoreMode: Binding.RestoreBindingOrValue - value: controlRoot.size < 1.0 && controlRoot.policy !== T.ScrollBar.AlwaysOff && controlRoot.parent !== null + value: controlRoot.size < 1.0 && controlRoot.size > 0 && controlRoot.policy !== T.ScrollBar.AlwaysOff && controlRoot.parent !== null } topPadding: style.topScrollbarPadding leftPadding: style.leftScrollbarPadding diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.98.0/org.kde.desktop/SpinBox.qml new/qqc2-desktop-style-5.99.0/org.kde.desktop/SpinBox.qml --- old/qqc2-desktop-style-5.98.0/org.kde.desktop/SpinBox.qml 2022-09-05 11:33:03.000000000 +0200 +++ new/qqc2-desktop-style-5.99.0/org.kde.desktop/SpinBox.qml 2022-10-01 15:23:43.000000000 +0200 @@ -6,10 +6,10 @@ */ -import QtQuick 2.6 -import QtQuick.Window 2.1 +import QtQuick 2.15 +import QtQuick.Window 2.15 import QtQuick.Templates 2.15 as T -import org.kde.kirigami 2.4 as Kirigami +import org.kde.kirigami 2.20 as Kirigami import org.kde.qqc2desktopstyle.private 1.0 as StylePrivate T.SpinBox { @@ -17,15 +17,19 @@ Kirigami.Theme.colorSet: Kirigami.Theme.View Kirigami.Theme.inherit: false - implicitWidth: Math.max(styleitem.fullRectSizeHint.width, 48, contentItem.implicitWidth + 2 * padding + up.indicator.implicitWidth + down.indicator.implicitWidth) - implicitHeight: Math.max(styleitem.fullRectSizeHint.height, background.implicitHeight, contentItem.implicitHeight + topPadding + bottomPadding) + implicitWidth: Math.max(styleitem.fullRectSizeHint.width, + implicitBackgroundWidth + leftInset + rightInset, + implicitContentWidth + leftPadding + rightPadding) + implicitHeight: Math.max(styleitem.fullRectSizeHint.height, + implicitBackgroundHeight + topInset + bottomInset, + implicitContentHeight + topPadding + bottomPadding) padding: 6 leftPadding: controlRoot.mirrored ? ___rPadding : ___lPadding rightPadding: controlRoot.mirrored ? ___lPadding : ___rPadding - readonly property int ___lPadding: styleitem.upRectSizeHint.x === styleitem.downRectSizeHint.x ? horizontalPadding : styleitem.upRectSizeHint.width - readonly property int ___rPadding: styleitem.upRectSizeHint.x === styleitem.downRectSizeHint.x ? styleitem.upRectSizeHint.width : styleitem.downRectSizeHint.width + readonly property int ___lPadding: styleitem.upRectSizeHint.x === styleitem.downRectSizeHint.x ? horizontalPadding : styleitem.downRectSizeHint.width + readonly property int ___rPadding: styleitem.upRectSizeHint.x === styleitem.downRectSizeHint.x ? styleitem.downRectSizeHint.width : styleitem.upRectSizeHint.width hoverEnabled: true wheelEnabled: true @@ -37,37 +41,40 @@ top: Math.max(controlRoot.from, controlRoot.to) } - // SpinBox does not update its value during editing, see QTBUG-91281 - Connections { - target: controlRoot.contentItem - function onTextEdited() { - if (controlRoot.contentItem.text) { - controlRoot.value = controlRoot.valueFromText(controlRoot.contentItem.text, controlRoot.locale) - controlRoot.valueModified() - } - } - } + inputMethodHints: Qt.ImhFormattedNumbersOnly - contentItem: TextInput { + contentItem: T.TextField { + readonly property TextMetrics _textMetrics: TextMetrics { + text: controlRoot.textFromValue(controlRoot.to, controlRoot.locale) + font: controlRoot.font + } + // Sometimes textMetrics.width isn't as wide as the actual text; add 2 + implicitWidth: Math.max(_textMetrics.width + 2, Math.round(contentWidth)) + + leftPadding + rightPadding + implicitHeight: Math.round(contentHeight) + topPadding + bottomPadding z: 2 - text: controlRoot.textFromValue(controlRoot.value, controlRoot.locale) - opacity: controlRoot.enabled ? 1 : 0.3 - font: controlRoot.font + palette: controlRoot.palette + text: controlRoot.textFromValue(controlRoot.value, controlRoot.locale) color: Kirigami.Theme.textColor selectionColor: Kirigami.Theme.highlightColor selectedTextColor: Kirigami.Theme.highlightedTextColor selectByMouse: true - horizontalAlignment: Qt.AlignHCenter + hoverEnabled: false // let hover events propagate to SpinBox verticalAlignment: Qt.AlignVCenter - readOnly: !controlRoot.editable validator: controlRoot.validator - inputMethodHints: Qt.ImhFormattedNumbersOnly + inputMethodHints: controlRoot.inputMethodHints // Work around Qt bug where NativeRendering breaks for non-integer scale factors // https://bugreports.qt.io/browse/QTBUG-67007 renderType: Screen.devicePixelRatio % 1 !== 0 ? Text.QtRendering : Text.NativeRendering + + // SpinBox does not update its value during editing, see QTBUG-91281 + onTextEdited: if (controlRoot.contentItem.text.length > 0 && acceptableInput) { + controlRoot.value = controlRoot.valueFromText(controlRoot.contentItem.text, controlRoot.locale) + controlRoot.valueModified() + } } up.indicator: Item { @@ -112,11 +119,21 @@ onWidthChanged: recompute() onHeightChanged: recompute() - value: (controlRoot.up.pressed ? 1 : 0) | - (controlRoot.down.pressed ? 1 << 1 : 0) | - (controlRoot.value !== controlRoot.to ? (1 << 2) : 0) | - (controlRoot.value !== controlRoot.from ? (1 << 3) : 0) | - (controlRoot.up.hovered ? 1 : 0) | - (controlRoot.down.hovered ? (1 << 1) : 0) + value: { + var value = 0; + if (controlRoot.up.hovered || controlRoot.up.pressed) { + value |= 1 << 0; + } + if (controlRoot.down.hovered || controlRoot.down.pressed) { + value |= 1 << 1; + } + if (controlRoot.value !== controlRoot.to) { + value |= 1 << 2; + } + if (controlRoot.value !== controlRoot.from) { + value |= 1 << 3; + } + return value; + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.98.0/org.kde.desktop/ToolButton.qml new/qqc2-desktop-style-5.99.0/org.kde.desktop/ToolButton.qml --- old/qqc2-desktop-style-5.98.0/org.kde.desktop/ToolButton.qml 2022-09-05 11:33:03.000000000 +0200 +++ new/qqc2-desktop-style-5.99.0/org.kde.desktop/ToolButton.qml 2022-10-01 15:23:43.000000000 +0200 @@ -56,13 +56,14 @@ // has this property at all, otherwise things will break with different // QtQuick styles! property bool showMenuArrow: false + readonly property bool hasIcon: controlRoot.icon.name.length > 0 || controlRoot.icon.source.length > 0 readonly property int toolButtonStyle: { switch (controlRoot.display) { case T.ToolButton.IconOnly: return Qt.ToolButtonIconOnly; case T.ToolButton.TextOnly: return Qt.ToolButtonTextOnly; - case T.ToolButton.TextBesideIcon: return Qt.ToolButtonTextBesideIcon; - case T.ToolButton.TextUnderIcon: return Qt.ToolButtonTextUnderIcon; + case T.ToolButton.TextBesideIcon: return hasIcon ? Qt.ToolButtonTextBesideIcon : Qt.ToolButtonTextOnly; + case T.ToolButton.TextUnderIcon: return hasIcon ? Qt.ToolButtonTextUnderIcon : Qt.ToolButtonTextOnly; default: return Qt.ToolButtonFollowStyle; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.98.0/org.kde.desktop/ToolTip.qml new/qqc2-desktop-style-5.99.0/org.kde.desktop/ToolTip.qml --- old/qqc2-desktop-style-5.98.0/org.kde.desktop/ToolTip.qml 2022-09-05 11:33:03.000000000 +0200 +++ new/qqc2-desktop-style-5.99.0/org.kde.desktop/ToolTip.qml 2022-10-01 15:23:43.000000000 +0200 @@ -39,14 +39,37 @@ closePolicy: T.Popup.CloseOnEscape | T.Popup.CloseOnPressOutsideParent | T.Popup.CloseOnReleaseOutsideParent + enter: Transition { + NumberAnimation { + property: "opacity" + from: 0.0 + to: 1.0 + duration: Kirigami.Units.longDuration + easing.type: Easing.OutCubic + } + } + + exit: Transition { + NumberAnimation { + property: "opacity" + from: 1.0 + to: 0.0 + duration: Kirigami.Units.longDuration + easing.type: Easing.OutCubic + } + } + // FIXME: use a top-level Item here so that ToolTip instances with child // items can safely use anchors contentItem: RowLayout { Controls.Label { // Strip out ampersands right before non-whitespace characters, i.e. // those used to determine the alt key shortcut - text: control.text.replace(/&(?=\S)/g, "") - wrapMode: Text.WordWrap + // (except when the word ends in ; (HTML entities)) + text: control.text.replace(/(&)(?!;)\S+(?>\s)/g, "") + // Using Wrap instead of WordWrap to prevent tooltips with long URLs + // from overflowing + wrapMode: Text.Wrap font: control.font color: Kirigami.Theme.textColor diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.98.0/plugin/kquickstyleitem.cpp new/qqc2-desktop-style-5.99.0/plugin/kquickstyleitem.cpp --- old/qqc2-desktop-style-5.98.0/plugin/kquickstyleitem.cpp 2022-09-05 11:33:03.000000000 +0200 +++ new/qqc2-desktop-style-5.99.0/plugin/kquickstyleitem.cpp 2022-10-01 15:23:43.000000000 +0200 @@ -586,11 +586,12 @@ QStyleOptionSpinBox *opt = qstyleoption_cast<QStyleOptionSpinBox *>(m_styleoption); opt->frame = true; - opt->subControls = QStyle::SC_SpinBoxFrame | QStyle::SC_SpinBoxEditField; if (value() & 0x1) { opt->activeSubControls = QStyle::SC_SpinBoxUp; } else if (value() & (1 << 1)) { opt->activeSubControls = QStyle::SC_SpinBoxDown; + } else { + opt->activeSubControls = QStyle::SC_None; } opt->subControls = QStyle::SC_All; opt->stepEnabled = {}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.98.0/tests/ToolButton.qml new/qqc2-desktop-style-5.99.0/tests/ToolButton.qml --- old/qqc2-desktop-style-5.98.0/tests/ToolButton.qml 2022-09-05 11:33:03.000000000 +0200 +++ new/qqc2-desktop-style-5.99.0/tests/ToolButton.qml 2022-10-01 15:23:43.000000000 +0200 @@ -108,5 +108,19 @@ flat: false highlighted: true } + + ToolButton { + text: "Without setting display" + } + + ToolButton { + text: "With Menu decoration" + + Component.onCompleted: { + if (background.hasOwnProperty("showMenuArrow")) { + background.showMenuArrow = true + } + } + } } }