summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-plasma/plasma-desktop/files/plasma-desktop-5.24.6-fix-buttongroupmgmt.patch')
-rw-r--r--kde-plasma/plasma-desktop/files/plasma-desktop-5.24.6-fix-buttongroupmgmt.patch108
1 files changed, 108 insertions, 0 deletions
diff --git a/kde-plasma/plasma-desktop/files/plasma-desktop-5.24.6-fix-buttongroupmgmt.patch b/kde-plasma/plasma-desktop/files/plasma-desktop-5.24.6-fix-buttongroupmgmt.patch
new file mode 100644
index 000000000000..0a86d08c5121
--- /dev/null
+++ b/kde-plasma/plasma-desktop/files/plasma-desktop-5.24.6-fix-buttongroupmgmt.patch
@@ -0,0 +1,108 @@
+From fffa899345df967ed815104cf88de8466d97b374 Mon Sep 17 00:00:00 2001
+From: ivan tkachenko <me@ratijas.tk>
+Date: Sat, 9 Jul 2022 21:45:37 +0300
+Subject: [PATCH] [applets/pager] Fix button group management on configuration
+ page
+
+More declarative and centralized approach fixes the case when the "Text
+display:" section may have no radio buttons selected.
+
+Amends c50e4b987dc365d741880794ee6f2924065a87a6.
+
+BUG: 456525
+FIXED-IN: 5.24.7 5.25.4 5.26
+(cherry picked from commit 4d835be8808b6372d69c424a66c3c7a1493cd6c3)
+---
+ .../package/contents/ui/configGeneral.qml | 48 ++++---------------
+ 1 file changed, 10 insertions(+), 38 deletions(-)
+
+diff --git a/applets/pager/package/contents/ui/configGeneral.qml b/applets/pager/package/contents/ui/configGeneral.qml
+index b66620e16..c5404b9e1 100644
+--- a/applets/pager/package/contents/ui/configGeneral.qml
++++ b/applets/pager/package/contents/ui/configGeneral.qml
+@@ -25,39 +25,6 @@ Kirigami.FormLayout {
+ property alias cfg_showOnlyCurrentScreen: showOnlyCurrentScreen.checked
+ property alias cfg_wrapPage: wrapPage.checked
+
+- onCfg_displayedTextChanged: {
+- switch (cfg_displayedText) {
+- case 0:
+- displayedTextGroup.checkedButton = desktopNumberRadio;
+- break;
+- case 1:
+- displayedTextGroup.checkedButton = desktopNameRadio;
+- break;
+- default:
+- case 2:
+- displayedTextGroup.checkedButton = noTextRadio;
+- break;
+- }
+- }
+-
+- onCfg_currentDesktopSelectedChanged: {
+- switch (cfg_currentDesktopSelected) {
+- case 0:
+- currentDesktopSelectedGroup.checkedButton = doesNothingRadio;
+- break;
+- case 1:
+- currentDesktopSelectedGroup.checkedButton = showsDesktopRadio;
+- break;
+- default:
+- break;
+- }
+- }
+-
+- Component.onCompleted: {
+- cfg_currentDesktopSelectedChanged();
+- cfg_displayedTextChanged();
+- }
+-
+ QtControls.ButtonGroup {
+ id: displayedTextGroup
+ }
+@@ -113,19 +80,22 @@ Kirigami.FormLayout {
+
+ QtControls.ButtonGroup.group: displayedTextGroup
+ text: i18n("No text")
+- onCheckedChanged: if (checked) cfg_displayedText = 2;
++ checked: cfg_displayedText === 2
++ onToggled: if (checked) cfg_displayedText = 2;
+ }
+ QtControls.RadioButton {
+ id: desktopNumberRadio
+ QtControls.ButtonGroup.group: displayedTextGroup
+ text: isActivityPager ? i18n("Activity number") : i18n("Desktop number")
+- onCheckedChanged: if (checked) cfg_displayedText = 0;
++ checked: cfg_displayedText === 0
++ onToggled: if (checked) cfg_displayedText = 0;
+ }
+ QtControls.RadioButton {
+ id: desktopNameRadio
+ QtControls.ButtonGroup.group: displayedTextGroup
+ text: isActivityPager ? i18n("Activity name") : i18n("Desktop name")
+- onCheckedChanged: if (checked) cfg_displayedText = 1;
++ checked: cfg_displayedText === 1
++ onToggled: if (checked) cfg_displayedText = 1;
+ }
+
+
+@@ -141,12 +111,14 @@ Kirigami.FormLayout {
+
+ QtControls.ButtonGroup.group: currentDesktopSelectedGroup
+ text: i18n("Does nothing")
+- onCheckedChanged: if (checked) cfg_currentDesktopSelected = 0;
++ checked: cfg_currentDesktopSelected === 0
++ onToggled: if (checked) cfg_currentDesktopSelected = 0;
+ }
+ QtControls.RadioButton {
+ id: showsDesktopRadio
+ QtControls.ButtonGroup.group: currentDesktopSelectedGroup
+ text: i18n("Shows the desktop")
+- onCheckedChanged: if (checked) cfg_currentDesktopSelected = 1;
++ checked: cfg_currentDesktopSelected === 1
++ onToggled: if (checked) cfg_currentDesktopSelected = 1;
+ }
+ }
+--
+GitLab
+