From 587c3a7bc90118d3cf235307a07a153f52dd3d88 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Fri, 2 May 2025 23:35:22 +1000 Subject: feat: launcher keyboard nav Using currentitem and highlight Also fix not closing launcher when clicking app Apps service use only one process --- modules/launcher/AppList.qml | 9 ++++++++- modules/launcher/Content.qml | 8 +++++++- 2 files changed, 15 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/launcher/AppList.qml b/modules/launcher/AppList.qml index d5724f8..3175402 100644 --- a/modules/launcher/AppList.qml +++ b/modules/launcher/AppList.qml @@ -10,6 +10,7 @@ ListView { required property int padding required property string search + required property Scope launcher model: ScriptModel { values: Apps.fuzzyQuery(root.search) @@ -26,10 +27,16 @@ ListView { anchors.bottom: parent.bottom anchors.margins: root.padding + highlightMoveDuration: Appearance.anim.durations.normal + + highlight: StyledRect { + radius: Appearance.rounding.normal + color: Appearance.alpha(Appearance.colours.m3surfaceContainerHighest, true) + } + delegate: AppItem { launcher: root.launcher } - // TODO highlight ScrollBar.vertical: StyledScrollBar { // Move half out diff --git a/modules/launcher/Content.qml b/modules/launcher/Content.qml index 81222b7..6784b0e 100644 --- a/modules/launcher/Content.qml +++ b/modules/launcher/Content.qml @@ -37,6 +37,7 @@ Item { padding: root.padding search: search.text + launcher: root.launcher } EmptyIndicator { @@ -73,6 +74,9 @@ Item { } } + Keys.onUpPressed: list.decrementCurrentIndex() + Keys.onDownPressed: list.incrementCurrentIndex() + Keys.onEscapePressed: root.launcher.launcherVisible = false Connections { @@ -81,8 +85,10 @@ Item { function onLauncherVisibleChanged(): void { if (root.launcher.launcherVisible) search.forceActiveFocus(); - else + else { search.text = ""; + list.currentIndex = 0; + } } } } -- cgit v1.2.3-freya