From e3984139a232d78876af933d296b64f3959040c9 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Fri, 21 Aug 2026 23:08:58 +0800 Subject: SelectionState: signal to force sync without dependency change(for container change such as scrolling) --- popups/launcher/Launcher.qml | 9 +++++++++ popups/launcher/components/App.qml | 3 +++ popups/launcher/components/SelectionState.qml | 1 + 3 files changed, 13 insertions(+) diff --git a/popups/launcher/Launcher.qml b/popups/launcher/Launcher.qml index 89de4d4..d3203eb 100644 --- a/popups/launcher/Launcher.qml +++ b/popups/launcher/Launcher.qml @@ -45,6 +45,7 @@ ILauncher { } Timer { id: selectionSync + // TODO: evaluate weather i just leave it running repeat, might be costy though running: false repeat: false // sync w/ IComponent y animation duration @@ -429,4 +430,12 @@ ILauncher { implicitWidth: container.width implicitHeight: container.height + + Connections { + target: launcher?.state + + function onSyncSelectionState() { + selectionSync.running = true; + } + } } diff --git a/popups/launcher/components/App.qml b/popups/launcher/components/App.qml index f9c63e3..141c0ee 100644 --- a/popups/launcher/components/App.qml +++ b/popups/launcher/components/App.qml @@ -171,6 +171,9 @@ IComponent { } } } + onContentYChanged: { + SelectionState.syncSelectionState(); + } } } } diff --git a/popups/launcher/components/SelectionState.qml b/popups/launcher/components/SelectionState.qml index 212bd1d..8ca907f 100644 --- a/popups/launcher/components/SelectionState.qml +++ b/popups/launcher/components/SelectionState.qml @@ -24,6 +24,7 @@ Singleton { property alias selectedPriority: persist.selectedPriority property alias previousSelectedPriority: persist.previousSelectedPriority property var widgets: [] + signal syncSelectionState onSelectedPriorityChanged: { if (selectedPriority > previousSelectedPriority) { -- cgit v1.2.3