From 0971fd0fccddf1aa8c88780961df12803a132aa6 Mon Sep 17 00:00:00 2001 From: Loren Burkholder Date: Wed, 21 Jul 2021 20:37:36 -0400 Subject: [PATCH 1/3] Pad the loading spinner --- resources/qml/MessageView.qml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/resources/qml/MessageView.qml b/resources/qml/MessageView.qml index 564c8dc7..d2c97d57 100644 --- a/resources/qml/MessageView.qml +++ b/resources/qml/MessageView.qml @@ -477,12 +477,22 @@ ScrollView { } - footer: Spinner { + footer: Item { anchors.horizontalCenter: parent.horizontalCenter - running: chat.model && chat.model.paginationInProgress - foreground: Nheko.colors.mid + anchors.margins: Nheko.paddingLarge visible: chat.model && chat.model.paginationInProgress - z: 3 + // hacky, but works + height: loadingSpinner.height + 2 * Nheko.paddingLarge + + Spinner { + id: loadingSpinner + + anchors.centerIn: parent + anchors.margins: Nheko.paddingLarge + running: chat.model && chat.model.paginationInProgress + foreground: Nheko.colors.mid + z: 3 + } } } From bbecadf1a8c3d78609a6112a879288f841b592f4 Mon Sep 17 00:00:00 2001 From: Loren Burkholder Date: Wed, 21 Jul 2021 20:38:18 -0400 Subject: [PATCH 2/3] Add functionality for loading global user profile where needed This is so viewing profiles from the invite dialog will work as expected. --- resources/qml/InviteDialog.qml | 2 +- src/timeline/TimelineViewManager.cpp | 6 ++++++ src/timeline/TimelineViewManager.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) 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; From 0ce7d02abed2f687a1a9795da8ab8e2ec96b0d65 Mon Sep 17 00:00:00 2001 From: Loren Burkholder Date: Thu, 22 Jul 2021 07:55:12 -0400 Subject: [PATCH 3/3] make lint --- resources/qml/MessageView.qml | 1 + src/timeline/TimelineViewManager.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/resources/qml/MessageView.qml b/resources/qml/MessageView.qml index d2c97d57..50cbd371 100644 --- a/resources/qml/MessageView.qml +++ b/resources/qml/MessageView.qml @@ -493,6 +493,7 @@ ScrollView { foreground: Nheko.colors.mid z: 3 } + } } diff --git a/src/timeline/TimelineViewManager.cpp b/src/timeline/TimelineViewManager.cpp index da3ba282..c08cfd53 100644 --- a/src/timeline/TimelineViewManager.cpp +++ b/src/timeline/TimelineViewManager.cpp @@ -379,7 +379,8 @@ TimelineViewManager::openInviteUsers(QString roomId) emit openInviteUsersDialog(model); } -void TimelineViewManager::openGlobalUserProfile(QString userId) +void +TimelineViewManager::openGlobalUserProfile(QString userId) { UserProfile *profile = new UserProfile{QString{}, userId, this}; emit openProfile(profile);