summaryrefslogtreecommitdiff
path: root/popups/launcher/components
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2025-08-20 13:01:19 +0800
committerlittleblack111 <littleblack11111@gmail.com>2025-08-20 13:01:19 +0800
commit4b1c181d24cb1fb97cb36f2817087f5ef948d40a (patch)
tree7253436dd24baf11b282ccd558d3b5c37fa922e3 /popups/launcher/components
parentc43f16b05b11abddb9e4b80159ee598c3fc8bf57 (diff)
fix(launcher): perserve selected between launches
launcher:component don't let syncSelectionState set selected if it's not valid
Diffstat (limited to 'popups/launcher/components')
-rw-r--r--popups/launcher/components/App.qml2
-rw-r--r--popups/launcher/components/Clip.qml6
-rw-r--r--popups/launcher/components/Emoji.qml2
-rw-r--r--popups/launcher/components/Spell.qml2
4 files changed, 8 insertions, 4 deletions
diff --git a/popups/launcher/components/App.qml b/popups/launcher/components/App.qml
index a26d990..a88c24a 100644
--- a/popups/launcher/components/App.qml
+++ b/popups/launcher/components/App.qml
@@ -107,7 +107,7 @@ IComponent {
syncSelectionState: function () {
Qt.callLater(() => {
- if (selectedIndex < 0 || selectedIndex >= listView.count)
+ if (selectedIndex < 0 || selectedIndex >= listView.count || !root.visible)
return;
state.selected = listView.itemAtIndex(selectedIndex);
diff --git a/popups/launcher/components/Clip.qml b/popups/launcher/components/Clip.qml
index 7c6a5d5..138cb10 100644
--- a/popups/launcher/components/Clip.qml
+++ b/popups/launcher/components/Clip.qml
@@ -63,7 +63,11 @@ IComponent {
}
syncSelectionState: function () {
- Qt.callLater(() => state.selected = listView.itemAtIndex(selectedIndex));
+ Qt.callLater(() => {
+ if (!root.visible || selectedIndex < 0 || selectedIndex >= listView.count)
+ return;
+ state.selected = listView.itemAtIndex(selectedIndex);
+ });
}
IInnerComponent {
diff --git a/popups/launcher/components/Emoji.qml b/popups/launcher/components/Emoji.qml
index 10906c8..8160894 100644
--- a/popups/launcher/components/Emoji.qml
+++ b/popups/launcher/components/Emoji.qml
@@ -92,7 +92,7 @@ IComponent {
syncSelectionState: function () {
Qt.callLater(() => {
- if (!loader.view || selectedIndex < 0 || selectedIndex >= loader.view.count)
+ if (!loader.view || selectedIndex < 0 || selectedIndex >= loader.view.count || !root.visible)
return;
state.selected = loader.view.itemAtIndex(selectedIndex);
diff --git a/popups/launcher/components/Spell.qml b/popups/launcher/components/Spell.qml
index b0ccd8f..c627b9e 100644
--- a/popups/launcher/components/Spell.qml
+++ b/popups/launcher/components/Spell.qml
@@ -115,7 +115,7 @@ IComponent {
syncSelectionState: function () {
Qt.callLater(() => {
- if (!loader.view || selectedIndex < 0 || selectedIndex >= loader.view.count)
+ if (!loader.view || selectedIndex < 0 || selectedIndex >= loader.view.count || !root.visible)
return;
state.selected = loader.view.itemAtIndex(selectedIndex);