From 3bb53b1cf141257669cfe453d3140843d87134a4 Mon Sep 17 00:00:00 2001 From: Igor Malinovskiy Date: Thu, 14 Sep 2017 11:55:49 +0300 Subject: [PATCH] Fix #3885: Clean up keys filter --- src/qml/connections-tree/BetterTreeView.qml | 7 ++++++- src/qml/connections-tree/menu/database.qml | 13 ++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/qml/connections-tree/BetterTreeView.qml b/src/qml/connections-tree/BetterTreeView.qml index b5107e7c..c8196b9e 100644 --- a/src/qml/connections-tree/BetterTreeView.qml +++ b/src/qml/connections-tree/BetterTreeView.qml @@ -10,6 +10,7 @@ TreeView { id: root alternatingRowColors: false headerVisible: false + focus: true TableViewColumn { title: "item" @@ -34,7 +35,7 @@ TreeView { width: root.width - 20 } - itemDelegate: Item { + itemDelegate: FocusScope { id: itemRoot Item { @@ -96,6 +97,10 @@ TreeView { return "" } } + + onLoaded: { + wrapper.forceActiveFocus() + } } MouseArea { diff --git a/src/qml/connections-tree/menu/database.qml b/src/qml/connections-tree/menu/database.qml index f45fbc0b..e532ecf6 100644 --- a/src/qml/connections-tree/menu/database.qml +++ b/src/qml/connections-tree/menu/database.qml @@ -6,6 +6,14 @@ import "." RowLayout { id: root + focus: true + + Keys.onPressed: { + if (state == "filter" && event.key == Qt.Key_Escape) { + state = "menu" + } + } + property var shortcuts: { 'add': Qt.platform.os == "osx"? "Meta+N" : "Ctrl+N", 'reload': Qt.platform.os == "osx"? "Meta+R" : "Ctrl+R", @@ -145,7 +153,10 @@ RowLayout { return connectionsManager.getMetadata(styleData.index, "filter") } - onAccepted: filterOk.setFilter() + onAccepted: { + filterOk.setFilter() + focus = false + } } ToolButton {