diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2025-08-18 01:06:16 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2025-08-19 20:15:21 +0800 |
| commit | e4fab905c3657c599574a2cabbf832a73a14e3da (patch) | |
| tree | f63d839cb3406b21189d17c6a5da5dbf8e87b60f | |
| parent | 13f16c4aaa53aae232b61e6ba52e2851f8e685c7 (diff) | |
perf(launcher:Components): less checks syncSelectionState
| -rw-r--r-- | launcher/components/App.qml | 11 | ||||
| -rw-r--r-- | launcher/components/Clip.qml | 10 | ||||
| -rw-r--r-- | launcher/components/Emoji.qml | 4 | ||||
| -rw-r--r-- | launcher/components/Spell.qml | 7 |
4 files changed, 4 insertions, 28 deletions
diff --git a/launcher/components/App.qml b/launcher/components/App.qml index 9955811..59a84cf 100644 --- a/launcher/components/App.qml +++ b/launcher/components/App.qml @@ -110,16 +110,7 @@ IComponent { } syncSelectionState: function () { - Qt.callLater(() => { - const item = listView.itemAtIndex(selectedIndex); - if (item) - state.selected = item; - else if (listView.count > 0) { - // wait until it's created - listView.forceLayout(); // forces creation if in view - Qt.callLater(syncSelectionState); - } - }); + Qt.callLater(() => state.selected = listView.itemAtIndex(selectedIndex)); } IInnerComponent { diff --git a/launcher/components/Clip.qml b/launcher/components/Clip.qml index 0cde5fa..297a3d4 100644 --- a/launcher/components/Clip.qml +++ b/launcher/components/Clip.qml @@ -62,15 +62,7 @@ IComponent { } syncSelectionState: function () { - Qt.callLater(() => { - let selectedItem = listView.itemAtIndex(selectedIndex); - if (!selectedItem && selectedIndex >= 0 && selectedIndex < listView.count) { - // Item not visible, force it to be created - listView.positionViewAtIndex(selectedIndex, ListView.Contain); - selectedItem = listView.itemAtIndex(selectedIndex); - } - state.selected = selectedItem; - }); + Qt.callLater(() => state.selected = listView.itemAtIndex(selectedIndex)); } IInnerComponent { diff --git a/launcher/components/Emoji.qml b/launcher/components/Emoji.qml index bc79e71..551b647 100644 --- a/launcher/components/Emoji.qml +++ b/launcher/components/Emoji.qml @@ -88,9 +88,7 @@ IComponent { } syncSelectionState: function () { - if (!loader.view) - return; - Qt.callLater(() => state.selected = loader.view.currentItem); + Qt.callLater(() => state.selected = loader.view.itemAtIndex(selectedIndex)); } IInnerComponent { diff --git a/launcher/components/Spell.qml b/launcher/components/Spell.qml index 52f32b1..d04e0eb 100644 --- a/launcher/components/Spell.qml +++ b/launcher/components/Spell.qml @@ -112,12 +112,7 @@ IComponent { } syncSelectionState: function () { - if (!loader.view) - return; - - Qt.callLater(() => { - state.selected = loader.view.currentItem; - }); + Qt.callLater(() => state.selected = loader.view.itemAtIndex(selectedIndex)); } IInnerComponent { |
