summaryrefslogtreecommitdiff
blob: 0a86d08c512150132c09de255000623df5805f52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
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