diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2025-08-20 13:01:19 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2025-08-20 13:01:19 +0800 |
| commit | 4b1c181d24cb1fb97cb36f2817087f5ef948d40a (patch) | |
| tree | 7253436dd24baf11b282ccd558d3b5c37fa922e3 /popups/launcher/components | |
| parent | c43f16b05b11abddb9e4b80159ee598c3fc8bf57 (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.qml | 2 | ||||
| -rw-r--r-- | popups/launcher/components/Clip.qml | 6 | ||||
| -rw-r--r-- | popups/launcher/components/Emoji.qml | 2 | ||||
| -rw-r--r-- | popups/launcher/components/Spell.qml | 2 |
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); |
