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,