From d535cc5e759757fc71751df7d89131cdf2cd71d2 Mon Sep 17 00:00:00 2001 From: Jedi18 Date: Tue, 2 Feb 2021 13:30:47 +0530 Subject: add error message and update avatars on avatar change in timeline and user profile dialog --- src/timeline/TimelineModel.cpp | 5 ++++- src/ui/UserProfile.cpp | 4 ++-- src/ui/UserProfile.h | 4 +++- 3 files changed, 9 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp index 79cf5184..a4d551f5 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp @@ -801,7 +801,10 @@ TimelineModel::viewDecryptedRawMessage(QString id) const void TimelineModel::openUserProfile(QString userid, bool global) { - emit openProfile(new UserProfile(global ? "" : room_id_, userid, manager_, this)); + UserProfile *userProfile = new UserProfile(global ? "" : room_id_, userid, manager_, this); + connect( + this, &TimelineModel::roomAvatarUrlChanged, userProfile, &UserProfile::avatarUrlChanged); + emit openProfile(userProfile); } void diff --git a/src/ui/UserProfile.cpp b/src/ui/UserProfile.cpp index 960cfc4d..e260c924 100644 --- a/src/ui/UserProfile.cpp +++ b/src/ui/UserProfile.cpp @@ -308,12 +308,12 @@ UserProfile::changeAvatar() QFile file{fileName, this}; if (format != "image") { - // displayErrorMessage(tr("The selected file is not an image")); + emit displayError(tr("The selected file is not an image")); return; } if (!file.open(QIODevice::ReadOnly)) { - // displayErrorMessage(tr("Error while reading file: %1").arg(file.errorString())); + emit displayError(tr("Error while reading file: %1").arg(file.errorString())); return; } diff --git a/src/ui/UserProfile.h b/src/ui/UserProfile.h index 69c1542c..9f48f935 100644 --- a/src/ui/UserProfile.h +++ b/src/ui/UserProfile.h @@ -83,7 +83,7 @@ class UserProfile : public QObject Q_OBJECT Q_PROPERTY(QString displayName READ displayName NOTIFY displayNameChanged) Q_PROPERTY(QString userid READ userid CONSTANT) - Q_PROPERTY(QString avatarUrl READ avatarUrl CONSTANT) + Q_PROPERTY(QString avatarUrl READ avatarUrl NOTIFY avatarUrlChanged) Q_PROPERTY(DeviceInfoModel *deviceList READ deviceList CONSTANT) Q_PROPERTY(bool isGlobalUserProfile READ isGlobalUserProfile CONSTANT) Q_PROPERTY(bool isUserVerified READ getUserStatus NOTIFY userStatusChanged) @@ -119,6 +119,8 @@ public: signals: void userStatusChanged(); void displayNameChanged(); + void avatarUrlChanged(); + void displayError(const QString &errorMessage); void globalUsernameRetrieved(const QString &globalUser); protected slots: -- cgit 1.5.1