From 1e2dce4678f8056217dd750a6d8377aeb2f0d988 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Sat, 2 Aug 2025 22:37:55 +0200 Subject: [PATCH] Fix completer switching between rooms with html in their roomid --- resources/qml/Completer.qml | 2 +- src/RoomsModel.cpp | 3 +++ src/RoomsModel.h | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/qml/Completer.qml b/resources/qml/Completer.qml index e4786927..bdeb7db6 100644 --- a/resources/qml/Completer.qml +++ b/resources/qml/Completer.qml @@ -62,7 +62,7 @@ Control { } function finishCompletion() { if (popup.completerName == "room") - popup.completionSelected(listView.itemAtIndex(currentIndex).modelData.roomid); + popup.completionSelected(listView.itemAtIndex(currentIndex).modelData.rawroomid); else if (popup.completerName == "user") popup.completionSelected(listView.itemAtIndex(currentIndex).modelData.userid); } diff --git a/src/RoomsModel.cpp b/src/RoomsModel.cpp index 14da3913..ff25f2d0 100644 --- a/src/RoomsModel.cpp +++ b/src/RoomsModel.cpp @@ -34,6 +34,7 @@ RoomsModel::roleNames() const {Roles::RoomAlias, "roomAlias"}, {Roles::AvatarUrl, "avatarUrl"}, {Roles::RoomID, "roomid"}, + {Roles::RawRoomID, "rawroomid"}, {Roles::RoomName, "roomName"}, {Roles::IsTombstoned, "isTombstoned"}, {Roles::IsSpace, "isSpace"}, @@ -68,6 +69,8 @@ RoomsModel::data(const QModelIndex &index, int role) const cache::client()->singleRoomInfo(rooms[index.row()].id).avatar_url); case Roles::RoomID: return QString::fromStdString(rooms[index.row()].id).toHtmlEscaped(); + case Roles::RawRoomID: + return QString::fromStdString(rooms[index.row()].id); case Roles::IsTombstoned: return rooms[index.row()].is_tombstoned; case Roles::IsSpace: diff --git a/src/RoomsModel.h b/src/RoomsModel.h index 83a21ae0..3ecab34c 100644 --- a/src/RoomsModel.h +++ b/src/RoomsModel.h @@ -17,6 +17,7 @@ public: AvatarUrl = Qt::UserRole, RoomAlias, RoomID, + RawRoomID, RoomName, IsTombstoned, IsSpace,