overview: tab to copy selected result

This commit is contained in:
end-4
2026-01-04 00:10:49 +01:00
parent b268f1d61c
commit 8538efe743
2 changed files with 35 additions and 14 deletions
@@ -1,15 +1,12 @@
pragma ComponentBehavior: Bound
import QtQuick
import QtQuick.Layouts
import Quickshell
import qs import qs
import qs.services import qs.services
import qs.modules.common import qs.modules.common
import qs.modules.common.widgets import qs.modules.common.widgets
import qs.modules.common.functions import qs.modules.common.functions
import Qt5Compat.GraphicalEffects
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import Quickshell
import Quickshell.Io
import Quickshell.Hyprland
RowLayout { RowLayout {
id: root id: root
@@ -92,6 +89,16 @@ RowLayout {
} }
} }
} }
Keys.onPressed: event => {
if (event.key === Qt.Key_Tab) {
if (LauncherSearch.results.length === 0) return;
const tabbedText = LauncherSearch.results[0].name;
LauncherSearch.query = tabbedText;
searchInput.text = tabbedText;
event.accepted = true;
}
}
} }
IconToolbarButton { IconToolbarButton {
@@ -1,15 +1,16 @@
pragma ComponentBehavior: Bound
import Qt.labs.synchronizer
import Qt5Compat.GraphicalEffects
import QtQuick
import QtQuick.Layouts
import Quickshell
import qs import qs
import qs.services import qs.services
import qs.modules.common import qs.modules.common
import qs.modules.common.widgets import qs.modules.common.widgets
import qs.modules.common.functions import qs.modules.common.functions
import Qt.labs.synchronizer
import Qt5Compat.GraphicalEffects
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import Quickshell
import Quickshell.Io
Item { // Wrapper Item { // Wrapper
id: root id: root
@@ -205,12 +206,25 @@ Item { // Wrapper
} }
delegate: SearchItem { delegate: SearchItem {
id: searchItem
// The selectable item for each search result // The selectable item for each search result
required property var modelData required property var modelData
anchors.left: parent?.left anchors.left: parent?.left
anchors.right: parent?.right anchors.right: parent?.right
entry: modelData entry: modelData
query: StringUtils.cleanOnePrefix(root.searchingText, [Config.options.search.prefix.action, Config.options.search.prefix.app, Config.options.search.prefix.clipboard, Config.options.search.prefix.emojis, Config.options.search.prefix.math, Config.options.search.prefix.shellCommand, Config.options.search.prefix.webSearch]) query: StringUtils.cleanOnePrefix(root.searchingText, [Config.options.search.prefix.action, Config.options.search.prefix.app, Config.options.search.prefix.clipboard, Config.options.search.prefix.emojis, Config.options.search.prefix.math, Config.options.search.prefix.shellCommand, Config.options.search.prefix.webSearch])
Keys.onPressed: event => {
if (event.key === Qt.Key_Tab) {
if (LauncherSearch.results.length === 0)
return;
const tabbedText = searchItem.modelData.name;
LauncherSearch.query = tabbedText;
searchBar.searchInput.text = tabbedText;
event.accepted = true;
root.focusSearchInput();
}
}
} }
} }
} }