From a39cb537ae157c8f84f5227049df6b5ace409152 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Tue, 7 Sep 2021 02:34:32 +0200 Subject: 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 --- src/ChatPage.cpp | 7 ++++++- src/ui/UserProfile.cpp | 3 +-- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'src') 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_); } -- cgit 1.5.1