From 2410262faebad2e475bfab766288264ddf90bdc0 Mon Sep 17 00:00:00 2001
From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
Date: Mon, 16 Aug 2021 14:11:11 -0400
Subject: [PATCH] chatview: focus on the message bar when selecting a
 conversation

This patch restores the auto focus with new QML message send bar.

Change-Id: I34e76c246c3d22c27d5e07f0294f18404a612f2c
---
 src/mainview/components/MessageBar.qml           | 6 ++++++
 src/mainview/components/MessageBarTextArea.qml   | 1 +
 src/mainview/components/MessageWebView.qml       | 2 +-
 src/mainview/components/MessageWebViewFooter.qml | 1 +
 4 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/mainview/components/MessageBar.qml b/src/mainview/components/MessageBar.qml
index 3d36346b2..4df0c4e2e 100644
--- a/src/mainview/components/MessageBar.qml
+++ b/src/mainview/components/MessageBar.qml
@@ -135,6 +135,12 @@ ColumnLayout {
 
             objectName: "messageBarTextArea"
 
+            // forward activeFocus to the actual text area object
+            onActiveFocusChanged: {
+                if (activeFocus)
+                    textAreaObj.forceActiveFocus()
+            }
+
             Layout.alignment: Qt.AlignVCenter
             Layout.fillWidth: true
             Layout.margins: marginSize / 2
diff --git a/src/mainview/components/MessageBarTextArea.qml b/src/mainview/components/MessageBarTextArea.qml
index 9a2310c0b..599b88dbb 100644
--- a/src/mainview/components/MessageBarTextArea.qml
+++ b/src/mainview/components/MessageBarTextArea.qml
@@ -28,6 +28,7 @@ Flickable {
     id: root
 
     property alias text: textArea.text
+    property var textAreaObj: textArea
     property alias placeholderText: textArea.placeholderText
 
     signal sendMessagesRequired
diff --git a/src/mainview/components/MessageWebView.qml b/src/mainview/components/MessageWebView.qml
index d3b694390..33333a840 100644
--- a/src/mainview/components/MessageWebView.qml
+++ b/src/mainview/components/MessageWebView.qml
@@ -45,7 +45,7 @@ Rectangle {
     }
 
     function focusMessageWebView() {
-        messageWebView.forceActiveFocus()
+        messageWebViewFooter.textInput.forceActiveFocus()
     }
 
     function webViewRunJavaScript(arg) {
diff --git a/src/mainview/components/MessageWebViewFooter.qml b/src/mainview/components/MessageWebViewFooter.qml
index bdcd0c7e6..6ae692a88 100644
--- a/src/mainview/components/MessageWebViewFooter.qml
+++ b/src/mainview/components/MessageWebViewFooter.qml
@@ -30,6 +30,7 @@ import "../../commoncomponents/emojipicker"
 Rectangle {
     id: root
 
+    property alias textInput: messageBar.textAreaObj
     property string previousConvId: ""
 
     function setFilePathsToSend(filePaths) {
-- 
GitLab