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:
|