diff options
Diffstat (limited to 'src/ChatPage.cpp')
-rw-r--r-- | src/ChatPage.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp index e1f631d7..2d7c75d1 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp @@ -1376,7 +1376,7 @@ ChatPage::handleMatrixUri(const QByteArray &uri) return; QString mxid2; - if (segments.size() == 4 && segments[2] == "event") { + if (segments.size() == 4 && segments[2] == "e") { if (segments[3].isEmpty()) return; else @@ -1410,6 +1410,8 @@ ChatPage::handleMatrixUri(const QByteArray &uri) for (auto roomid : joined_rooms) { if (roomid == targetRoomId) { room_list_->highlightSelectedRoom(mxid1); + if (!mxid2.isEmpty()) + view_manager_->showEvent(mxid1, mxid2); return; } } @@ -1427,6 +1429,9 @@ ChatPage::handleMatrixUri(const QByteArray &uri) if (aliases->alias == targetRoomAlias) { room_list_->highlightSelectedRoom( QString::fromStdString(roomid)); + if (!mxid2.isEmpty()) + view_manager_->showEvent( + QString::fromStdString(roomid), mxid2); return; } } |