diff options
author | Jedi18 <targetakhil@gmail.com> | 2021-02-25 10:29:30 +0530 |
---|---|---|
committer | Jedi18 <targetakhil@gmail.com> | 2021-02-25 10:29:30 +0530 |
commit | 043737c8cb0f6ef058bc8578a566a6c5c218e231 (patch) | |
tree | 897c5a5922e6ca5f04543bab7068e531eb3c1e7d /src | |
parent | Ensure we ask for confirmation when clicking on a matrix uri (diff) | |
download | nheko-043737c8cb0f6ef058bc8578a566a6c5c218e231.tar.xz |
navigate to newly created rooms
Diffstat (limited to 'src')
-rw-r--r-- | src/ChatPage.cpp | 13 | ||||
-rw-r--r-- | src/ChatPage.h | 2 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp index 9ba2cc87..aae9271d 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp @@ -253,6 +253,7 @@ ChatPage::ChatPage(QSharedPointer<UserSettings> userSettings, QWidget *parent) this, &ChatPage::updateGroupsInfo, communitiesList_, &CommunitiesList::setCommunities); connect(this, &ChatPage::leftRoom, this, &ChatPage::removeRoom); + connect(this, &ChatPage::newRoom, this, &ChatPage::changeRoom, Qt::QueuedConnection); connect(this, &ChatPage::notificationsRetrieved, this, &ChatPage::sendNotifications); connect(this, &ChatPage::highlightedNotifsRetrieved, @@ -967,8 +968,9 @@ ChatPage::createRoom(const mtx::requests::CreateRoom &req) return; } - emit showNotification( - tr("Room %1 created.").arg(QString::fromStdString(res.room_id.to_string()))); + QString newRoomId = QString::fromStdString(res.room_id.to_string()); + emit showNotification(tr("Room %1 created.").arg(newRoomId)); + emit newRoom(newRoomId); }); } @@ -990,6 +992,13 @@ ChatPage::leaveRoom(const QString &room_id) } void +ChatPage::changeRoom(const QString &room_id) +{ + view_manager_->setHistoryView(room_id); + room_list_->highlightSelectedRoom(room_id); +} + +void ChatPage::inviteUser(QString userid, QString reason) { auto room = current_room_; diff --git a/src/ChatPage.h b/src/ChatPage.h index 917bd785..dc6b8299 100644 --- a/src/ChatPage.h +++ b/src/ChatPage.h @@ -154,6 +154,7 @@ signals: void tryInitialSyncCb(); void newSyncResponse(const mtx::responses::Sync &res); void leftRoom(const QString &room_id); + void newRoom(const QString &room_id); void initializeRoomList(QMap<QString, RoomInfo>); void initializeViews(const mtx::responses::Rooms &rooms); @@ -201,6 +202,7 @@ signals: private slots: void logout(); void removeRoom(const QString &room_id); + void changeRoom(const QString &room_id); void dropToLoginPage(const QString &msg); void handleSyncResponse(const mtx::responses::Sync &res); |