Add functionality for loading global user profile where needed
This is so viewing profiles from the invite dialog will work as expected.
3 files changed, 8 insertions, 1 deletions
diff --git a/resources/qml/InviteDialog.qml b/resources/qml/InviteDialog.qml
index 5aaf0d6d..50287ad5 100644
--- a/resources/qml/InviteDialog.qml
+++ b/resources/qml/InviteDialog.qml
@@ -107,7 +107,7 @@ ApplicationWindow {
userid: model.mxid
url: model.avatarUrl.replace("mxc://", "image://MxcImage/")
displayName: model.displayName
- onClicked: Rooms.currentRoom.openUserProfile(model.mxid)
+ onClicked: TimelineManager.openGlobalUserProfile(model.mxid)
}
ColumnLayout {
diff --git a/src/timeline/TimelineViewManager.cpp b/src/timeline/TimelineViewManager.cpp
index b1643798..da3ba282 100644
--- a/src/timeline/TimelineViewManager.cpp
+++ b/src/timeline/TimelineViewManager.cpp
@@ -379,6 +379,12 @@ TimelineViewManager::openInviteUsers(QString roomId)
emit openInviteUsersDialog(model);
}
+void TimelineViewManager::openGlobalUserProfile(QString userId)
+{
+ UserProfile *profile = new UserProfile{QString{}, userId, this};
+ emit openProfile(profile);
+}
+
void
TimelineViewManager::setVideoCallItem()
{
diff --git a/src/timeline/TimelineViewManager.h b/src/timeline/TimelineViewManager.h
index 374685e3..bfc116b1 100644
--- a/src/timeline/TimelineViewManager.h
+++ b/src/timeline/TimelineViewManager.h
@@ -67,6 +67,7 @@ public:
Q_INVOKABLE void openRoomMembers(QString room_id);
Q_INVOKABLE void openRoomSettings(QString room_id);
Q_INVOKABLE void openInviteUsers(QString roomId);
+ Q_INVOKABLE void openGlobalUserProfile(QString userId);
Q_INVOKABLE void focusMessageInput();
Q_INVOKABLE void openLeaveRoomDialog(QString roomid) const;
|