diff --git a/src/app/mainview/components/ChatViewHeader.qml b/src/app/mainview/components/ChatViewHeader.qml index ba3847f1b09502b7b6ae717a4433fa88884f19fd..8ac169d16d5a3d27e67815532e1b6e722d8f451c 100644 --- a/src/app/mainview/components/ChatViewHeader.qml +++ b/src/app/mainview/components/ChatViewHeader.qml @@ -159,6 +159,15 @@ Rectangle { Layout.alignment: Qt.AlignRight | Qt.AlignVCenter spacing: headerButtons.spacing visible: root.showSearch && CurrentConversation.isSwarm + + Shortcut { + sequence: "Ctrl+Shift+F" + context: Qt.ApplicationShortcut + enabled: rowSearchBar.visible + onActivated: { + rowSearchBar.openSearchBar() + } + } } PushButton { diff --git a/src/app/mainview/components/ContactSearchBar.qml b/src/app/mainview/components/ContactSearchBar.qml index d8bc6bc599e0aea147505a5bce6f5ba68989632a..d416cf5ad0703d4ca5e7c68ffebb59bef5f701a6 100644 --- a/src/app/mainview/components/ContactSearchBar.qml +++ b/src/app/mainview/components/ContactSearchBar.qml @@ -35,14 +35,16 @@ Rectangle { function clearText() { contactSearchBar.clear() - fakeFocus.forceActiveFocus() + contactSearchBar.forceActiveFocus() } radius: JamiTheme.primaryRadius color: JamiTheme.secondaryBackgroundColor - FocusScope { - id: fakeFocus + onFocusChanged: { + if (focus) { + contactSearchBar.forceActiveFocus() + } } LineEditContextMenu { @@ -125,14 +127,6 @@ Rectangle { } } - Shortcut { - sequence: "Ctrl+F" - context: Qt.ApplicationShortcut - onActivated: { - contactSearchBar.forceActiveFocus() - } - } - Keys.onPressed: function (keyEvent) { if (keyEvent.key === Qt.Key_Enter || keyEvent.key === Qt.Key_Return) { diff --git a/src/app/mainview/components/KeyboardShortcutTable.qml b/src/app/mainview/components/KeyboardShortcutTable.qml index 948446b10a5e252d137a81327cc826bfae34317b..8bba7e509abe3288314e9e9d1a617586536c79db 100644 --- a/src/app/mainview/components/KeyboardShortcutTable.qml +++ b/src/app/mainview/components/KeyboardShortcutTable.qml @@ -108,6 +108,11 @@ Window { shortcut2: "" description: qsTr("Clear history") } + ListElement { + shortcut: "Ctrl + Shift + F" + shortcut2: "" + description: qsTr("Search messages/files") + } ListElement { shortcut: "Ctrl + Shift + B" shortcut2: "" @@ -119,7 +124,7 @@ Window { description: qsTr("Remove conversation") } ListElement { - shortcut: "Shift + Ctrl + A" + shortcut: "Ctrl + Shift + A" shortcut2: "" description: qsTr("Accept contact request") } diff --git a/src/app/mainview/components/Searchbar.qml b/src/app/mainview/components/Searchbar.qml index c31f94df5c7b155b6a2274d4afda2b4e1b91572b..0bce5434065f7bf465ba8f5bd18cb84e6d154903 100644 --- a/src/app/mainview/components/Searchbar.qml +++ b/src/app/mainview/components/Searchbar.qml @@ -37,6 +37,10 @@ RowLayout { property bool isOpened: false function openSearchBar() { + if (isOpened) { + textArea.forceActiveFocus() + return + } searchBarOpened() rectTextArea.isSearch = true anim.start() @@ -45,6 +49,8 @@ RowLayout { } function closeSearchbar() { + if (!isOpened) + return searchBarClosed() rectTextArea.isSearch = false anim.start() diff --git a/src/app/mainview/components/SidePanel.qml b/src/app/mainview/components/SidePanel.qml index 965990a7ddc3fd4f7067593e39f718389a0a206d..721b1ec38eef989afa303e1afcef77369049c34d 100644 --- a/src/app/mainview/components/SidePanel.qml +++ b/src/app/mainview/components/SidePanel.qml @@ -261,6 +261,14 @@ BaseView { anchors.right: parent.right anchors.rightMargin: 15 + Shortcut { + sequence: "Ctrl+F" + context: Qt.ApplicationShortcut + onActivated: { + contactSearchBar.forceActiveFocus() + } + } + ContactSearchBar { id: contactSearchBar