From a417c8539961858e99da9623007feba14ed61170 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Thu, 14 Aug 2025 18:37:23 +0800 Subject: fix(IComponent): activeRect not being at selected item at launch --- launcher/components/App.qml | 2 +- launcher/components/Calc.qml | 1 + launcher/components/Clip.qml | 2 +- launcher/components/IComponent.qml | 7 +++++++ launcher/components/Spell.qml | 2 +- 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/launcher/components/App.qml b/launcher/components/App.qml index 70cdc60..61a5d1b 100644 --- a/launcher/components/App.qml +++ b/launcher/components/App.qml @@ -102,7 +102,7 @@ IComponent { }); } - function syncSelectionState() { + syncSelectionState: function () { Qt.callLater(() => { const item = listView.itemAtIndex(selectedIndex); if (item) { diff --git a/launcher/components/Calc.qml b/launcher/components/Calc.qml index ec5b45f..c6cdbc1 100644 --- a/launcher/components/Calc.qml +++ b/launcher/components/Calc.qml @@ -8,6 +8,7 @@ import qs.config IComponent { property int cursorPosition: SelectionState.cursorPosition + name: "Calculator" preview: Component { Icon { diff --git a/launcher/components/Clip.qml b/launcher/components/Clip.qml index 5284948..bc688b8 100644 --- a/launcher/components/Clip.qml +++ b/launcher/components/Clip.qml @@ -55,7 +55,7 @@ IComponent { syncSelectionState(); } - function syncSelectionState() { + syncSelectionState: function () { Qt.callLater(() => { let selectedItem = listView.itemAtIndex(selectedIndex); if (!selectedItem && selectedIndex >= 0 && selectedIndex < listView.count) { diff --git a/launcher/components/IComponent.qml b/launcher/components/IComponent.qml index d115d0f..4ff3f2f 100644 --- a/launcher/components/IComponent.qml +++ b/launcher/components/IComponent.qml @@ -33,6 +33,7 @@ IRect { preview: preview, predictiveCompletion: predictiveCompletion })// use the current IRect if valid is set + property var syncSelectionState: () => {} // actions property var up: () => ({ top: false @@ -83,4 +84,10 @@ IRect { easing.type: Easing.InOutQuad } } + + Component.onCompleted: { + Qt.callLater(() => { + syncSelectionState(); + }); + } } diff --git a/launcher/components/Spell.qml b/launcher/components/Spell.qml index fe118a0..8feec57 100644 --- a/launcher/components/Spell.qml +++ b/launcher/components/Spell.qml @@ -120,7 +120,7 @@ IComponent { Clip.copy(input); } - function syncSelectionState() { + syncSelectionState: function () { if (!loader.repeater) return; -- cgit v1.2.3