From 69036967ffbd4fdfd4d4ba01984a2416a7c03378 Mon Sep 17 00:00:00 2001
From: Konstantinos Sideris <sideris.konstantin@gmail.com>
Date: Mon, 14 Aug 2017 18:25:43 +0300
Subject: [PATCH] Focus on the text input when switching rooms

---
 include/TextInputWidget.h | 6 ++++++
 src/ChatPage.cc           | 1 +
 2 files changed, 7 insertions(+)

diff --git a/include/TextInputWidget.h b/include/TextInputWidget.h
index 225750f23..7fae4ae04 100644
--- a/include/TextInputWidget.h
+++ b/include/TextInputWidget.h
@@ -46,6 +46,7 @@ public:
 
 public slots:
 	void onSendButtonClicked();
+	inline void focusLineEdit();
 
 private slots:
 	void addSelectedEmoji(const QString &emoji);
@@ -64,3 +65,8 @@ private:
 	FlatButton *send_message_button_;
 	EmojiPickButton *emoji_button_;
 };
+
+inline void TextInputWidget::focusLineEdit()
+{
+	input_->setFocus();
+}
diff --git a/src/ChatPage.cc b/src/ChatPage.cc
index 9f20d54fb..43b1f0d37 100644
--- a/src/ChatPage.cc
+++ b/src/ChatPage.cc
@@ -125,6 +125,7 @@ ChatPage::ChatPage(QSharedPointer<MatrixClient> client, QWidget *parent)
 	connect(client_.data(), SIGNAL(loggedOut()), this, SLOT(logout()));
 
 	connect(room_list_, &RoomList::roomChanged, this, &ChatPage::changeTopRoomInfo);
+	connect(room_list_, &RoomList::roomChanged, text_input_, &TextInputWidget::focusLineEdit);
 	connect(room_list_, &RoomList::roomChanged, view_manager_, &TimelineViewManager::setHistoryView);
 
 	connect(view_manager_, &TimelineViewManager::unreadMessages, this, [=](const QString &roomid, int count) {
-- 
GitLab