summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorThulinma <jaron@vietors.com>2021-09-07 02:34:32 +0200
committerThulinma <jaron@vietors.com>2021-09-08 01:26:05 +0200
commita39cb537ae157c8f84f5227049df6b5ace409152 (patch)
treee9dda572c861d13d190d1148d36b1777191ef6b1 /src
parentFix duplicate check possibly leaving large gaps if initial state was not in t... (diff)
downloadnheko-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.cpp7
-rw-r--r--src/ui/UserProfile.cpp3
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_);
 }