summary refs log tree commit diff
path: root/src/ChatPage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ChatPage.cpp')
-rw-r--r--src/ChatPage.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp

index 88226c33..35489f66 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp
@@ -152,16 +152,26 @@ ChatPage::ChatPage(QSharedPointer<UserSettings> userSettings, QObject *parent) this, [this](const QString &roomid, const QString &eventid) { Q_UNUSED(eventid) - view_manager_->rooms()->setCurrentRoom(roomid); - MainWindow::instance()->requestActivate(); + auto exWin = MainWindow::instance()->windowForRoom(roomid); + if (exWin) { + exWin->requestActivate(); + } else { + view_manager_->rooms()->setCurrentRoom(roomid); + MainWindow::instance()->requestActivate(); + } }); connect(&notificationsManager, &NotificationsManager::sendNotificationReply, this, [this](const QString &roomid, const QString &eventid, const QString &body) { - view_manager_->rooms()->setCurrentRoom(roomid); view_manager_->queueReply(roomid, eventid, body); - MainWindow::instance()->requestActivate(); + auto exWin = MainWindow::instance()->windowForRoom(roomid); + if (exWin) { + exWin->requestActivate(); + } else { + view_manager_->rooms()->setCurrentRoom(roomid); + MainWindow::instance()->requestActivate(); + } }); connect(