diff --git a/include/TextInputWidget.h b/include/TextInputWidget.h index 225750f2..7fae4ae0 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 9f20d54f..43b1f0d3 100644 --- a/src/ChatPage.cc +++ b/src/ChatPage.cc @@ -125,6 +125,7 @@ ChatPage::ChatPage(QSharedPointer 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) {