diff options
author | Thulinma <jaron@vietors.com> | 2021-09-07 02:34:32 +0200 |
---|---|---|
committer | Thulinma <jaron@vietors.com> | 2021-09-08 01:26:05 +0200 |
commit | a39cb537ae157c8f84f5227049df6b5ace409152 (patch) | |
tree | e9dda572c861d13d190d1148d36b1777191ef6b1 /src | |
parent | Fix duplicate check possibly leaving large gaps if initial state was not in t... (diff) | |
download | nheko-a39cb537ae157c8f84f5227049df6b5ace409152.tar.xz |
More profile improvements:
- Now scrolls entire profile instead of only device list, improving the experience on smaller screens - Fixed centering of room name - Allow profile to be sized smaller to match the new scrolling behavior - Silenced warning about room being null for global profiles - Matrix URLs now open global profiles instead of room-specific profiles if the user is not in the currently opened room - Opening global profile from room specific profile now uses openGlobalUserProfile function instead of reinventing the wheel
Diffstat (limited to 'src')
-rw-r--r-- | src/ChatPage.cpp | 7 | ||||
-rw-r--r-- | src/ui/UserProfile.cpp | 3 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp index c5c27964..a07a9654 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp @@ -1279,8 +1279,13 @@ ChatPage::handleMatrixUri(const QByteArray &uri) if (sigil1 == "u") { if (action.isEmpty()) { - if (auto t = view_manager_->rooms()->currentRoom()) + auto t = view_manager_->rooms()->currentRoom(); + if (t && + cache::isRoomMember(mxid1.toStdString(), t->roomId().toStdString())) { t->openUserProfile(mxid1); + return; + } + emit view_manager_->openGlobalUserProfile(mxid1); } else if (action == "chat") { this->startChat(mxid1); } diff --git a/src/ui/UserProfile.cpp b/src/ui/UserProfile.cpp index a3f42671..fbd0f4f7 100644 --- a/src/ui/UserProfile.cpp +++ b/src/ui/UserProfile.cpp @@ -423,6 +423,5 @@ UserProfile::getGlobalProfileData() void UserProfile::openGlobalProfile() { - UserProfile *userProfile = new UserProfile("", userid_, manager, model); - emit manager->openProfile(userProfile); + emit manager->openGlobalUserProfile(userid_); } |