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 2021-11-15 15:25:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qqc2-desktop-style (Old) and /work/SRC/openSUSE:Factory/.qqc2-desktop-style.new.1890 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qqc2-desktop-style" Mon Nov 15 15:25:54 2021 rev:52 rq:931128 version:5.88.0 Changes: -------- --- /work/SRC/openSUSE:Factory/qqc2-desktop-style/qqc2-desktop-style.changes 2021-10-18 22:01:17.706054634 +0200 +++ /work/SRC/openSUSE:Factory/.qqc2-desktop-style.new.1890/qqc2-desktop-style.changes 2021-11-15 15:27:22.165839782 +0100 @@ -1,0 +2,15 @@ +Sun Nov 7 09:13:42 UTC 2021 - Christophe Giboudeaux <christo...@krop.fr> + +- Strip 'Source' URL for faster submissions + +------------------------------------------------------------------- +Sun Nov 7 09:08:30 UTC 2021 - Christophe Giboudeaux <christo...@krop.fr> + +- Update to 5.88.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/5/5.88.0 +- Too many changes since 5.87.0, only listing bugfixes: + * Don't change MenuItem's arrow's color when selected (kde#443453) + +------------------------------------------------------------------- Old: ---- qqc2-desktop-style-5.87.0.tar.xz qqc2-desktop-style-5.87.0.tar.xz.sig New: ---- qqc2-desktop-style-5.88.0.tar.xz qqc2-desktop-style-5.88.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qqc2-desktop-style.spec ++++++ --- /var/tmp/diff_new_pack.JXj3dy/_old 2021-11-15 15:27:22.553839890 +0100 +++ /var/tmp/diff_new_pack.JXj3dy/_new 2021-11-15 15:27:22.557839891 +0100 @@ -16,19 +16,19 @@ # -%define _tar_path 5.87 +%define _tar_path 5.88 # Only needed for the package signature condition %bcond_without lang Name: qqc2-desktop-style -Version: 5.87.0 +Version: 5.88.0 Release: 0 Summary: A Qt Quick Controls 2 Style for Desktop UIs License: GPL-2.0-or-later Group: Development/Libraries/KDE URL: https://www.kde.org -Source: https://download.kde.org/stable/frameworks/%{_tar_path}/qqc2-desktop-style-%{version}.tar.xz +Source: qqc2-desktop-style-%{version}.tar.xz %if %{with lang} -Source1: https://download.kde.org/stable/frameworks/%{_tar_path}/qqc2-desktop-style-%{version}.tar.xz.sig +Source1: qqc2-desktop-style-%{version}.tar.xz.sig Source2: frameworks.keyring %endif BuildRequires: extra-cmake-modules ++++++ qqc2-desktop-style-5.87.0.tar.xz -> qqc2-desktop-style-5.88.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/.gitlab-ci.yml new/qqc2-desktop-style-5.88.0/.gitlab-ci.yml --- old/qqc2-desktop-style-5.87.0/.gitlab-ci.yml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/.gitlab-ci.yml 2021-11-05 15:32:42.000000000 +0100 @@ -3,3 +3,4 @@ include: - https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux.yml + - https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd.yml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/.kde-ci.yml new/qqc2-desktop-style-5.88.0/.kde-ci.yml --- old/qqc2-desktop-style-5.87.0/.kde-ci.yml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/.kde-ci.yml 2021-11-05 15:32:42.000000000 +0100 @@ -5,6 +5,7 @@ 'frameworks/kirigami' : '@same' 'frameworks/kiconthemes' : '@same' 'frameworks/kconfigwidgets' : '@same' + 'frameworks/sonnet' : '@same' Options: test-before-installing: True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/CMakeLists.txt new/qqc2-desktop-style-5.88.0/CMakeLists.txt --- old/qqc2-desktop-style-5.87.0/CMakeLists.txt 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/CMakeLists.txt 2021-11-05 15:32:42.000000000 +0100 @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "5.87.0") # handled by release scripts +set(KF_VERSION "5.88.0") # handled by release scripts set(KF_DEP_VERSION "5.87.0") # handled by release scripts project(qqc2-desktop-style VERSION ${KF_VERSION}) @@ -28,6 +28,7 @@ include(ECMSetupVersion) include(ECMGenerateHeaders) +include(ECMQMLModules) include(KDEInstallDirs) include(KDECMakeSettings) include(KDEGitCommitHooks) @@ -95,6 +96,8 @@ PATH_VARS CMAKE_INSTALL_PREFIX ) +ecm_find_qmlmodule(org.kde.sonnet 1.0) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/KF5QQC2DeskopStyleConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/KF5QQC2DeskopStyleConfigVersion.cmake" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/kirigami-plasmadesktop-integration/plasmadesktoptheme.cpp new/qqc2-desktop-style-5.88.0/kirigami-plasmadesktop-integration/plasmadesktoptheme.cpp --- old/qqc2-desktop-style-5.87.0/kirigami-plasmadesktop-integration/plasmadesktoptheme.cpp 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/kirigami-plasmadesktop-integration/plasmadesktoptheme.cpp 2021-11-05 15:32:42.000000000 +0100 @@ -17,6 +17,7 @@ #include <KColorScheme> #include <KConfigGroup> +#include <KIconColors> #include <QDBusConnection> class StyleSingleton : public QObject @@ -229,26 +230,13 @@ QIcon PlasmaDesktopTheme::iconFromTheme(const QString &name, const QColor &customColor) { - QPalette pal = palette(); if (customColor != Qt::transparent) { - for (auto state : {QPalette::Active, QPalette::Inactive, QPalette::Disabled}) { - pal.setBrush(state, QPalette::WindowText, customColor); - } + KIconColors colors; + colors.setText(customColor); + return KDE::icon(name, colors); + } else { + return KDE::icon(name); } - - bool hadPalette = KIconLoader::global()->hasCustomPalette(); - QPalette olderPalette = KIconLoader::global()->customPalette(); - - auto cleanup = qScopeGuard([&] { - if (hadPalette) { - KIconLoader::global()->setCustomPalette(olderPalette); - } else { - KIconLoader::global()->resetPalette(); - } - }); - - KIconLoader::global()->setCustomPalette(pal); - return KDE::icon(name, KIconLoader::global()); } void PlasmaDesktopTheme::syncColors() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/BusyIndicator.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/BusyIndicator.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/BusyIndicator.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/BusyIndicator.qml 2021-11-05 15:32:42.000000000 +0100 @@ -13,7 +13,6 @@ T.BusyIndicator { id: controlRoot - palette: Kirigami.Theme.palette implicitWidth: contentItem.implicitWidth + leftPadding + rightPadding implicitHeight: contentItem.implicitHeight + topPadding + bottomPadding diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/Button.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/Button.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/Button.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/Button.qml 2021-11-05 15:32:42.000000000 +0100 @@ -13,7 +13,6 @@ T.Button { id: controlRoot - palette: Kirigami.Theme.palette Kirigami.Theme.colorSet: Kirigami.Theme.Button Kirigami.Theme.inherit: false @@ -35,7 +34,6 @@ onActivated: controlRoot.clicked() } background: StylePrivate.StyleItem { - id: styleitem control: controlRoot elementType: "button" sunken: controlRoot.down diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/CheckBox.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/CheckBox.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/CheckBox.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/CheckBox.qml 2021-11-05 15:32:42.000000000 +0100 @@ -15,7 +15,6 @@ T.CheckBox { id: controlRoot - palette: Kirigami.Theme.palette implicitWidth: Math.max(background ? background.implicitWidth : 0, contentItem.implicitWidth + leftPadding + rightPadding) implicitHeight: Math.max(background ? background.implicitHeight : 0, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/CheckDelegate.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/CheckDelegate.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/CheckDelegate.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/CheckDelegate.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.CheckDelegate { id: controlRoot - palette: Kirigami.Theme.palette implicitWidth: contentItem.implicitWidth + leftPadding + rightPadding implicitHeight: Math.max(contentItem.implicitHeight, indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/ComboBox.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/ComboBox.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/ComboBox.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/ComboBox.qml 2021-11-05 15:32:42.000000000 +0100 @@ -17,7 +17,6 @@ T.ComboBox { id: controlRoot - palette: Kirigami.Theme.palette //NOTE: typeof necessary to not have warnings on Qt 5.7 Kirigami.Theme.colorSet: typeof(editable) != "undefined" && editable ? Kirigami.Theme.View : Kirigami.Theme.Button Kirigami.Theme.inherit: false @@ -43,7 +42,6 @@ indicator: Item {} contentItem: T.TextField { - id: textField padding: 0 text: controlRoot.editable ? controlRoot.editText : controlRoot.displayText @@ -92,12 +90,12 @@ Component { id: mobileCursor Private.MobileCursor { - target: textField + target: controlRoot.contentItem } } Private.MobileCursor { - target: textField + target: controlRoot.contentItem selectionStartHandle: true property var rect: target.positionToRectangle(target.selectionStart) x: rect.x + 5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/Container.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/Container.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/Container.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/Container.qml 2021-11-05 15:32:42.000000000 +0100 @@ -13,7 +13,6 @@ T.Container { id: control - palette: Kirigami.Theme.palette implicitWidth: Math.max(background ? background.implicitWidth : 0, (contentItem ? contentItem.implicitWidth : 0) + leftPadding + rightPadding) implicitHeight: Math.max(background ? background.implicitHeight : 0, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/Control.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/Control.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/Control.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/Control.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.Control { id: control - palette: Kirigami.Theme.palette implicitWidth: Math.max(background ? background.implicitWidth : 0, (contentItem ? contentItem.implicitWidth : 0) + leftPadding + rightPadding) implicitHeight: Math.max(background ? background.implicitHeight : 0, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/DelayButton.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/DelayButton.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/DelayButton.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/DelayButton.qml 2021-11-05 15:32:42.000000000 +0100 @@ -13,7 +13,6 @@ T.DelayButton { id: controlRoot - palette: Kirigami.Theme.palette Kirigami.Theme.colorSet: Kirigami.Theme.Button Kirigami.Theme.inherit: false @@ -30,7 +29,6 @@ contentItem: Item {} background: StylePrivate.StyleItem { - id: styleitem control: controlRoot elementType: "button" sunken: controlRoot.down || controlRoot.checked diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/Dial.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/Dial.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/Dial.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/Dial.qml 2021-11-05 15:32:42.000000000 +0100 @@ -15,12 +15,10 @@ T.Dial { id: controlRoot - palette: Kirigami.Theme.palette implicitWidth: 128 implicitHeight: 128 background: StylePrivate.StyleItem { - id: style control: controlRoot visible: true elementType: "dial" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/Dialog.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/Dialog.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/Dialog.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/Dialog.qml 2021-11-05 15:32:42.000000000 +0100 @@ -13,7 +13,6 @@ T.Dialog { id: control - palette: Kirigami.Theme.palette implicitWidth: Math.max(background ? background.implicitWidth : 0, contentWidth > 0 ? contentWidth + leftPadding + rightPadding : 0) implicitHeight: Math.max(background ? background.implicitHeight : 0, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/Drawer.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/Drawer.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/Drawer.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/Drawer.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.Drawer { id: control - palette: Kirigami.Theme.palette parent: T.ApplicationWindow.overlay implicitWidth: Math.max(background ? background.implicitWidth : 0, contentWidth + leftPadding + rightPadding) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/Frame.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/Frame.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/Frame.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/Frame.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.Frame { id: control - palette: Kirigami.Theme.palette implicitWidth: contentWidth + leftPadding + rightPadding implicitHeight: contentHeight + topPadding + bottomPadding diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/GroupBox.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/GroupBox.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/GroupBox.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/GroupBox.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.GroupBox { id: control - palette: Kirigami.Theme.palette implicitWidth: contentWidth + leftPadding + rightPadding implicitHeight: contentHeight + topPadding + bottomPadding diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/ItemDelegate.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/ItemDelegate.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/ItemDelegate.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/ItemDelegate.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.ItemDelegate { id: controlRoot - palette: Kirigami.Theme.palette implicitWidth: contentItem.implicitWidth + leftPadding + rightPadding implicitHeight: Math.max(contentItem.implicitHeight, indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/Menu.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/Menu.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/Menu.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/Menu.qml 2021-11-05 15:32:42.000000000 +0100 @@ -15,7 +15,6 @@ T.Menu { id: control - palette: Kirigami.Theme.palette implicitWidth: Math.max(background ? background.implicitWidth : 0, contentItem ? contentItem.implicitWidth + leftPadding + rightPadding : 0) implicitHeight: Math.max(background ? background.implicitHeight : 0, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/MenuBar.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/MenuBar.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/MenuBar.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/MenuBar.qml 2021-11-05 15:32:42.000000000 +0100 @@ -13,7 +13,6 @@ T.MenuBar { id: controlRoot - palette: Kirigami.Theme.palette implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, contentWidth + leftPadding + rightPadding) implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/MenuBarItem.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/MenuBarItem.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/MenuBarItem.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/MenuBarItem.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.MenuBarItem { id: controlRoot - palette: Kirigami.Theme.palette implicitWidth: contentItem.implicitWidth + leftPadding + rightPadding implicitHeight: contentItem.implicitHeight + topPadding + bottomPadding baselineOffset: contentItem.y + contentItem.baselineOffset diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/MenuItem.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/MenuItem.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/MenuItem.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/MenuItem.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.MenuItem { id: controlRoot - palette: Kirigami.Theme.palette implicitWidth: Math.max(background ? background.implicitWidth : 0, contentItem.implicitWidth + leftPadding + rightPadding + (arrow ? arrow.implicitWidth : 0)) implicitHeight: visible ? Math.max(background ? background.implicitHeight : 0, @@ -95,7 +94,6 @@ x: controlRoot.mirrored ? controlRoot.padding : controlRoot.width - width - controlRoot.padding y: controlRoot.topPadding + (controlRoot.availableHeight - height) / 2 source: controlRoot.mirrored ? "go-next-symbolic-rtl" : "go-next-symbolic" - selected: controlRoot.highlighted width: Math.max(Kirigami.Units.iconSizes.roundedIconSize(label.height), Kirigami.Units.iconSizes.small) height: width visible: controlRoot.subMenu diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/Pane.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/Pane.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/Pane.qml 1970-01-01 01:00:00.000000000 +0100 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/Pane.qml 2021-11-05 15:32:42.000000000 +0100 @@ -0,0 +1,23 @@ +// SPDX-FileCopyrightText: 2021 Carl Schwan <c...@carlschwan.eu> +// SPDX-License-Identifier: LGPL-2.0-or-later + +import QtQuick 2.12 +import QtQuick.Templates @QQC2_VERSION@ as T +import QtQuick.Controls 2.12 +import org.kde.kirigami 2.15 as Kirigami + +T.Pane { + id: control + + implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, + contentWidth + leftPadding + rightPadding) + implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, + contentHeight + topPadding + bottomPadding) + + padding: Kirigami.Units.largeSpacing + + background: Rectangle { + color: Kirigami.Theme.backgroundColor + } +} + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/Popup.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/Popup.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/Popup.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/Popup.qml 2021-11-05 15:32:42.000000000 +0100 @@ -13,7 +13,6 @@ T.Popup { id: control - palette: Kirigami.Theme.palette implicitWidth: Math.max(background ? background.implicitWidth : 0, contentWidth > 0 ? contentWidth + leftPadding + rightPadding : 0) implicitHeight: Math.max(background ? background.implicitHeight : 0, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/ProgressBar.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/ProgressBar.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/ProgressBar.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/ProgressBar.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.ProgressBar { id: controlRoot - palette: Kirigami.Theme.palette implicitWidth: 250 implicitHeight: 22 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/RadioButton.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/RadioButton.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/RadioButton.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/RadioButton.qml 2021-11-05 15:32:42.000000000 +0100 @@ -15,7 +15,6 @@ T.RadioButton { id: controlRoot - palette: Kirigami.Theme.palette implicitWidth: Math.max(background ? background.implicitWidth : 0, contentItem.implicitWidth + leftPadding + rightPadding) implicitHeight: Math.max(background ? background.implicitHeight : 0, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/RadioDelegate.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/RadioDelegate.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/RadioDelegate.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/RadioDelegate.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.RadioDelegate { id: controlRoot - palette: Kirigami.Theme.palette implicitWidth: contentItem.implicitWidth + leftPadding + rightPadding implicitHeight: Math.max(contentItem.implicitHeight, indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/RangeSlider.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/RangeSlider.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/RangeSlider.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/RangeSlider.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.RangeSlider { id: control - palette: Kirigami.Theme.palette implicitWidth: Math.max(background ? background.implicitWidth : 0, Math.max(first.handle ? first.handle.implicitWidth : 0, second.handle ? second.handle.implicitWidth : 0) + leftPadding + rightPadding) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/ScrollBar.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/ScrollBar.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/ScrollBar.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/ScrollBar.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.ScrollBar { id: controlRoot - palette: Kirigami.Theme.palette implicitWidth: background.implicitWidth implicitHeight: background.implicitHeight diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/ScrollView.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/ScrollView.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/ScrollView.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/ScrollView.qml 2021-11-05 15:32:42.000000000 +0100 @@ -17,7 +17,6 @@ clip: true - palette: Kirigami.Theme.palette implicitWidth: Math.max(background ? background.implicitWidth : 0, contentWidth + leftPadding + rightPadding) implicitHeight: Math.max(background ? background.implicitHeight : 0, contentHeight + topPadding + bottomPadding) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/Slider.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/Slider.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/Slider.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/Slider.qml 2021-11-05 15:32:42.000000000 +0100 @@ -13,7 +13,6 @@ T.Slider { id: controlRoot - palette: Kirigami.Theme.palette Kirigami.Theme.colorSet: Kirigami.Theme.Button implicitWidth: background.horizontal ? Kirigami.Units.gridUnit * 12 : background.implicitWidth diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/SpinBox.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/SpinBox.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/SpinBox.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/SpinBox.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.SpinBox { id: controlRoot - palette: Kirigami.Theme.palette Kirigami.Theme.colorSet: Kirigami.Theme.View Kirigami.Theme.inherit: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/Switch.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/Switch.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/Switch.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/Switch.qml 2021-11-05 15:32:42.000000000 +0100 @@ -13,7 +13,6 @@ T.CheckBox { id: control - palette: Kirigami.Theme.palette implicitWidth: contentItem.implicitWidth + leftPadding + rightPadding implicitHeight: Math.max(contentItem.implicitHeight, indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/SwitchDelegate.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/SwitchDelegate.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/SwitchDelegate.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/SwitchDelegate.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.SwitchDelegate { id: controlRoot - palette: Kirigami.Theme.palette implicitWidth: contentItem.implicitWidth + leftPadding + rightPadding implicitHeight: Math.max(contentItem.implicitHeight, indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/TabBar.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/TabBar.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/TabBar.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/TabBar.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.TabBar { id: controlRoot - palette: Kirigami.Theme.palette Kirigami.Theme.colorSet: Kirigami.Theme.Window Kirigami.Theme.inherit: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/TabButton.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/TabButton.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/TabButton.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/TabButton.qml 2021-11-05 15:32:42.000000000 +0100 @@ -17,7 +17,6 @@ T.TabButton { id: controlRoot - palette: Kirigami.Theme.palette //Some qstyles like fusion don't have correct pixel metrics here and just return 0 implicitWidth: Math.max(styleitem.implicitWidth, textMetrics.width + Kirigami.Units.gridUnit * 2) implicitHeight: styleitem.implicitHeight || Kirigami.Units.gridUnit * 2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/TextArea.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/TextArea.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/TextArea.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/TextArea.qml 2021-11-05 15:32:42.000000000 +0100 @@ -1,6 +1,7 @@ /* SPDX-FileCopyrightText: 2017 Marco Martin <m...@kde.org> SPDX-FileCopyrightText: 2017 The Qt Company Ltd. + SPDX-FileCopyrightText: 2021 Carl Schwan <carlsch...@kde.org> SPDX-License-Identifier: LGPL-3.0-only OR GPL-2.0-or-later */ @@ -9,13 +10,13 @@ import QtQuick 2.12 import QtQuick.Window 2.1 import QtQuick.Templates @QQC2_VERSION@ as T -import org.kde.kirigami 2.4 as Kirigami +import org.kde.kirigami 2.18 as Kirigami import org.kde.qqc2desktopstyle.private 1.0 as StylePrivate +import org.kde.sonnet 1.0 as Sonnet import "private" as Private T.TextArea { id: controlRoot - palette: Kirigami.Theme.palette Kirigami.Theme.colorSet: Kirigami.Theme.View Kirigami.Theme.inherit: false @@ -55,13 +56,31 @@ TapHandler { acceptedDevices: PointerDevice.Mouse | PointerDevice.Stylus acceptedButtons: Qt.LeftButton | Qt.RightButton - + // unfortunately, taphandler's pressed event only triggers when the press is lifted // we need to use the longpress signal since it triggers when the button is first pressed longPressThreshold: 0 - onLongPressed: Private.TextFieldContextMenu.targetClick(point, controlRoot); + onLongPressed: Private.TextFieldContextMenu.targetClick(point, controlRoot, spellcheckhighlighter, controlRoot.positionAt(point.position.x, point.position.y)); } - + + Sonnet.SpellcheckHighlighter { + id: spellcheckhighlighter + document: controlRoot.textDocument + cursorPosition: controlRoot.cursorPosition + selectionStart: controlRoot.selectionStart + selectionEnd: controlRoot.selectionEnd + misspelledColor: Kirigami.Theme.negativeTextColor + active: activable && settings.checkerEnabledByDefault + + property bool activable: controlRoot.Kirigami.SpellChecking.enabled + property Sonnet.Settings settings: Sonnet.Settings {} + + onChangeCursorPosition: { + controlRoot.cursorPosition = start; + controlRoot.moveCursorSelection(end, TextEdit.SelectCharacters); + } + } + Keys.onPressed: { // trigger if context menu button is pressed Private.TextFieldContextMenu.targetKeyPressed(event, controlRoot) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/TextField.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/TextField.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/TextField.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/TextField.qml 2021-11-05 15:32:42.000000000 +0100 @@ -16,7 +16,6 @@ T.TextField { id: controlRoot - palette: Kirigami.Theme.palette Kirigami.Theme.colorSet: Kirigami.Theme.View Kirigami.Theme.inherit: false @@ -64,7 +63,7 @@ // unfortunately, taphandler's pressed event only triggers when the press is lifted // we need to use the longpress signal since it triggers when the button is first pressed longPressThreshold: 0 - onLongPressed: Private.TextFieldContextMenu.targetClick(point, controlRoot); + onLongPressed: Private.TextFieldContextMenu.targetClick(point, controlRoot, null, null); } Keys.onPressed: { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/ToolBar.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/ToolBar.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/ToolBar.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/ToolBar.qml 2021-11-05 15:32:42.000000000 +0100 @@ -13,8 +13,6 @@ T.ToolBar { id: controlRoot - palette: Kirigami.Theme.palette - implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, contentWidth + leftPadding + rightPadding) implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, contentHeight + topPadding + bottomPadding) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/ToolButton.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/ToolButton.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/ToolButton.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/ToolButton.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.ToolButton { id: controlRoot - palette: Kirigami.Theme.palette Kirigami.Theme.colorSet: flat ? Kirigami.Theme.Window : Kirigami.Theme.Button Kirigami.Theme.inherit: flat diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/ToolSeparator.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/ToolSeparator.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/ToolSeparator.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/ToolSeparator.qml 2021-11-05 15:32:42.000000000 +0100 @@ -19,7 +19,7 @@ contentItem: Kirigami.Separator { // implicitHeight is the same as ToolBar implicitHeight minus ToolBar padding if not horizontal - implicitHeight: horizontal ? Math.floor(Kirigami.Units.devicePixelRatio) : 40 - (Kirigami.Units.smallSpacing * 2) - implicitWidth: horizontal ? 40 - (Kirigami.Units.smallSpacing * 2) : Math.floor(Kirigami.Units.devicePixelRatio) + implicitHeight: horizontal ? 1 : 40 - (Kirigami.Units.smallSpacing * 2) + implicitWidth: !horizontal ? 1 : 40 - (Kirigami.Units.smallSpacing * 2) } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/ToolTip.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/ToolTip.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/ToolTip.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/ToolTip.qml 2021-11-05 15:32:42.000000000 +0100 @@ -14,7 +14,6 @@ T.ToolTip { id: controlRoot - palette: Kirigami.Theme.palette Kirigami.Theme.colorSet: Kirigami.Theme.Tooltip Kirigami.Theme.inherit: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/org.kde.desktop/private/TextFieldContextMenu.qml new/qqc2-desktop-style-5.88.0/org.kde.desktop/private/TextFieldContextMenu.qml --- old/qqc2-desktop-style-5.87.0/org.kde.desktop/private/TextFieldContextMenu.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/org.kde.desktop/private/TextFieldContextMenu.qml 2021-11-05 15:32:42.000000000 +0100 @@ -1,13 +1,15 @@ /* SPDX-FileCopyrightText: 2020 Devin Lin <espi...@gmail.com> + SPDX-FileCopyrightText: 2021 Carl Schwan <carlsch...@kde.org> SPDX-License-Identifier: LGPL-2.0-or-later -*/ +*/ pragma Singleton import QtQuick 2.6 -import QtQuick.Controls @QQC2_VERSION@ +import QtQml 2.2 +import QtQuick.Controls @QQC2_VERSION@ import org.kde.kirigami 2.5 as Kirigami Menu { @@ -19,9 +21,11 @@ property int restoredSelectionStart property int restoredSelectionEnd property bool persistentSelectionSetting + property var spellcheckhighlighter: null + property var suggestions: [] Component.onCompleted: persistentSelectionSetting = persistentSelectionSetting // break binding - property var runOnMenuClose + property var runOnMenuClose: () => {} parent: Overlay.overlay @@ -32,14 +36,16 @@ } // target is pressed with mouse - function targetClick(handlerPoint, newTarget) { + function targetClick(handlerPoint, newTarget, spellcheckhighlighter, mousePosition) { if (handlerPoint.pressedButtons === Qt.RightButton) { // only accept just right click if (contextMenu.visible) { deselectWhenMenuClosed = false; // don't deselect text if menu closed by right click on textfield dismiss(); } else { contextMenu.target = newTarget; - target.persistentSelection = true; // persist selection when menu is opened + contextMenu.target.persistentSelection = true; // persist selection when menu is opened + contextMenu.spellcheckhighlighter = spellcheckhighlighter + contextMenu.suggestions = mousePosition ? spellcheckhighlighter.suggestions(mousePosition) : []; storeCursorAndSelection(); popup(contextMenu.target); // slightly locate context menu away from mouse so no item is selected when menu is opened @@ -88,38 +94,97 @@ target.cursorPosition = restoredCursorPosition; target.select(restoredSelectionStart, restoredSelectionEnd); - // run action + // run action, and free memory runOnMenuClose(); + runOnMenuClose = () => {}; } onOpened: { - runOnMenuClose = function() {}; + runOnMenuClose = () => {}; + } + + Instantiator { + active: target !== null && !target.readOnly && spellcheckhighlighter !== null && spellcheckhighlighter.active && spellcheckhighlighter.wordIsMisspelled + model: suggestions + delegate: MenuItem { + text: modelData + onClicked: { + deselectWhenMenuClosed = false; + runOnMenuClose = () => spellcheckhighlighter.replaceWord(modelData); + } + } + onObjectAdded: { + contextMenu.insertItem(0, object) + } + onObjectRemoved: contextMenu.removeItem(0) + } + + MenuItem { + visible: target !== null && !target.readOnly && spellcheckhighlighter !== null && spellcheckhighlighter.active && spellcheckhighlighter.wordIsMisspelled && suggestions.length === 0 + action: Action { + text: spellcheckhighlighter ? qsTr("No suggestions for \"%1\"").arg(spellcheckhighlighter.wordUnderMouse) : '' + enabled: false + } + } + + MenuItem { + visible: target !== null && !target.readOnly && spellcheckhighlighter !== null && spellcheckhighlighter.active && spellcheckhighlighter.wordIsMisspelled + action: Action { + text: spellcheckhighlighter ? qsTr("Add \"%1\" to dictionary").arg(spellcheckhighlighter.wordUnderMouse) : '' + onTriggered: { + deselectWhenMenuClosed = false; + runOnMenuClose = () => spellcheckhighlighter.addWordToDictionary(spellcheckhighlighter.wordUnderMouse); + } + } + } + + MenuItem { + visible: target !== null && !target.readOnly && spellcheckhighlighter !== null && spellcheckhighlighter.active && spellcheckhighlighter.wordIsMisspelled + action: Action { + text: qsTr("Ignore") + onTriggered: { + deselectWhenMenuClosed = false; + runOnMenuClose = () => spellcheckhighlighter.ignoreWord(spellcheckhighlighter.wordUnderMouse); + } + } + } + + MenuItem { + visible: target !== null && !target.readOnly && spellcheckhighlighter !== null && spellcheckhighlighter.activable + checkable: true + checked: spellcheckhighlighter ? spellcheckhighlighter.active : false + text: spellcheckhighlighter ? qsTr("Enable Spellchecker") : '' + onCheckedChanged: spellcheckhighlighter.active = checked + } + + MenuSeparator { + visible: target !== null && !target.readOnly } MenuItem { visible: target !== null && !target.readOnly action: Action { icon.name: "edit-undo-symbolic" - text: i18nc("@action:inmenu", "Undo") + text: qsTr("Undo") shortcut: StandardKey.Undo } enabled: target !== null && target.canUndo onTriggered: { deselectWhenMenuClosed = false; - runOnMenuClose = function() {target.undo()}; + runOnMenuClose = () => target.undo(); } } MenuItem { visible: target !== null && !target.readOnly action: Action { icon.name: "edit-redo-symbolic" - text: i18nc("@action:inmenu", "Redo") + text: qsTr("Redo") shortcut: StandardKey.Redo } enabled: target !== null && target.canRedo onTriggered: { deselectWhenMenuClosed = false; - runOnMenuClose = function() {target.redo()}; + runOnMenuClose = () => target.redo(); } } MenuSeparator { @@ -129,52 +194,52 @@ visible: target !== null && !target.readOnly && !targetIsPassword action: Action { icon.name: "edit-cut-symbolic" - text: i18nc("@action:inmenu", "Cut") + text: qsTr("Cut") shortcut: StandardKey.Cut } enabled: target !== null && target.selectedText onTriggered: { deselectWhenMenuClosed = false; - runOnMenuClose = function() {target.cut()} + runOnMenuClose = () => target.cut(); } } MenuItem { action: Action { icon.name: "edit-copy-symbolic" - text: i18nc("@action:inmenu", "Copy") + text: qsTr("Copy") shortcut: StandardKey.Copy } enabled: target !== null && target.selectedText visible: !targetIsPassword onTriggered: { deselectWhenMenuClosed = false; - runOnMenuClose = function() {target.copy()} + runOnMenuClose = () => target.copy(); } } MenuItem { visible: target !== null && !target.readOnly action: Action { icon.name: "edit-paste-symbolic" - text: i18nc("@action:inmenu", "Paste") + text: qsTr("Paste") shortcut: StandardKey.Paste } enabled: target !== null && target.canPaste onTriggered: { deselectWhenMenuClosed = false; - runOnMenuClose = function() {target.paste()}; + runOnMenuClose = () => target.paste(); } } MenuItem { visible: target !== null && !target.readOnly action: Action { icon.name: "edit-delete-symbolic" - text: i18nc("@action:inmenu", "Delete") + text: qsTr("Delete") shortcut: StandardKey.Delete } enabled: target !== null && target.selectedText onTriggered: { deselectWhenMenuClosed = false; - runOnMenuClose = function() {target.remove(target.selectionStart, target.selectionEnd)}; + runOnMenuClose = () => target.remove(target.selectionStart, target.selectionEnd); } } MenuSeparator { @@ -183,13 +248,13 @@ MenuItem { action: Action { icon.name: "edit-select-all-symbolic" - text: i18nc("@action:inmenu", "Select All") + text: qsTr("Select All") shortcut: StandardKey.SelectAll } visible: !targetIsPassword onTriggered: { deselectWhenMenuClosed = false; - runOnMenuClose = function() {target.selectAll()}; + runOnMenuClose = () => target.selectAll(); } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/plugin/kquickstyleitem.cpp new/qqc2-desktop-style-5.88.0/plugin/kquickstyleitem.cpp --- old/qqc2-desktop-style-5.87.0/plugin/kquickstyleitem.cpp 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/plugin/kquickstyleitem.cpp 2021-11-05 15:32:42.000000000 +0100 @@ -183,7 +183,10 @@ QStyleOptionButton *opt = qstyleoption_cast<QStyleOptionButton *>(m_styleoption); opt->text = text(); - opt->icon = iconFromIconProperty(); + if (m_iconDirty || opt->icon.isNull()) { + opt->icon = iconFromIconProperty(); + m_iconDirty = false; + } auto iconSize = QSize(m_properties[QStringLiteral("iconWidth")].toInt(), m_properties[QStringLiteral("iconHeight")].toInt()); if (iconSize.isEmpty()) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/plugin/kquickstyleitem_p.h new/qqc2-desktop-style-5.88.0/plugin/kquickstyleitem_p.h --- old/qqc2-desktop-style-5.87.0/plugin/kquickstyleitem_p.h 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/plugin/kquickstyleitem_p.h 2021-11-05 15:32:42.000000000 +0100 @@ -348,6 +348,7 @@ { if (m_properties != props) { m_properties = props; + m_iconDirty = true; Q_EMIT propertiesChanged(); } } @@ -484,6 +485,7 @@ bool m_horizontal; bool m_transient; bool m_sharedWidget; + bool m_iconDirty = true; int m_minimum; int m_maximum; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.87.0/tests/CheckBox.qml new/qqc2-desktop-style-5.88.0/tests/CheckBox.qml --- old/qqc2-desktop-style-5.87.0/tests/CheckBox.qml 2021-10-02 14:24:05.000000000 +0200 +++ new/qqc2-desktop-style-5.88.0/tests/CheckBox.qml 2021-11-05 15:32:42.000000000 +0100 @@ -11,6 +11,10 @@ CheckBox { } + CheckBox { + checked: true + enabled: false + } CheckBox { text: "text"