summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2026-08-23 12:09:32 +0800
committerlittleblack111 <littleblack11111@gmail.com>2026-08-23 12:09:32 +0800
commit171adffaf50854040ea8696a09dba10d1d635133 (patch)
tree16b6ed3869f220238f701bbda903e18ec570e1de
parent04d4670f933431f5deaad4b2045baeccc2a4494e (diff)
cleanup: remove prevSelectedPriority, use a smarter way to fallback
selecftedPriority
-rw-r--r--popups/launcher/components/SelectionState.qml22
-rw-r--r--shell.qml1
2 files changed, 12 insertions, 11 deletions
diff --git a/popups/launcher/components/SelectionState.qml b/popups/launcher/components/SelectionState.qml
index 4231234..7180129 100644
--- a/popups/launcher/components/SelectionState.qml
+++ b/popups/launcher/components/SelectionState.qml
@@ -14,7 +14,6 @@ Singleton {
property string input: ""
property int cursorPosition: 0
property int selectedPriority: 0
- property int previousSelectedPriority: 0
}
property Item selected: null
@@ -22,7 +21,6 @@ Singleton {
property alias cursorPosition: persist.cursorPosition
property var priorities: []
property alias selectedPriority: persist.selectedPriority
- property alias previousSelectedPriority: persist.previousSelectedPriority
property var widgets: []
signal syncSelectionState
@@ -38,14 +36,18 @@ Singleton {
priorities.sort((a, b) => (widgets.indexOf(a) - widgets.indexOf(b)) || 0);
- if (!priorities[selectedPriority]) {
- if (priorities[previousSelectedPriority]) {
- selectedPriority = previousSelectedPriority;
- } else {
- selectedPriority = 0;
+ Qt.callLater(() => {
+ let prevSelectedPriority = selectedPriority;
+ while (!priorities[selectedPriority] && selectedPriority > 0) {
+ if (prevSelectedPriority === selectedPriority) {
+ Qt.callLater(() => {
+ if (!priorities[selectedPriority] && selectedPriority > 0)
+ selectedPriority--;
+ priorities[selectedPriority]?.syncSelectionState();
+ });
+ }
+ prevSelectedPriority = selectedPriority;
}
- }
-
- priorities[selectedPriority]?.syncSelectionState();
+ });
}
}
diff --git a/shell.qml b/shell.qml
index 1e6ce11..5805429 100644
--- a/shell.qml
+++ b/shell.qml
@@ -68,7 +68,6 @@ Scope {
property int cursorPosition: 0
property var priorities: []
property int selectedPriority: 0
- property int previousSelectedPriority: 0
property var widgets: []
}
readonly property list<Component> widgets: [