summaryrefslogtreecommitdiff
path: root/launcher/components
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2025-08-18 01:06:16 +0800
committerlittleblack111 <littleblack11111@gmail.com>2025-08-19 20:15:21 +0800
commite4fab905c3657c599574a2cabbf832a73a14e3da (patch)
treef63d839cb3406b21189d17c6a5da5dbf8e87b60f /launcher/components
parent13f16c4aaa53aae232b61e6ba52e2851f8e685c7 (diff)
perf(launcher:Components): less checks syncSelectionState
Diffstat (limited to 'launcher/components')
-rw-r--r--launcher/components/App.qml11
-rw-r--r--launcher/components/Clip.qml10
-rw-r--r--launcher/components/Emoji.qml4
-rw-r--r--launcher/components/Spell.qml7
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 {