summary refs log tree commit diff
path: root/src/ui
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2021-05-22 14:31:38 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2021-05-22 14:31:38 +0200
commitf2bc1845508cc2d90540404b6b9e11192cc56104 (patch)
tree5d50863c2d83cac33b9356e2c366243856846ffc /src/ui
parentFix leaving rooms (diff)
downloadnheko-f2bc1845508cc2d90540404b6b9e11192cc56104.tar.xz
Fix device list not showing up and UserProfile blocking the window
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/NhekoGlobalObject.h2
-rw-r--r--src/ui/UserProfile.cpp4
-rw-r--r--src/ui/UserProfile.h3
3 files changed, 6 insertions, 3 deletions
diff --git a/src/ui/NhekoGlobalObject.h b/src/ui/NhekoGlobalObject.h
index fe645a34..fc35fe22 100644
--- a/src/ui/NhekoGlobalObject.h
+++ b/src/ui/NhekoGlobalObject.h
@@ -40,7 +40,7 @@ public:
 
         Q_INVOKABLE void openLink(QString link) const;
 
-private slots:
+public slots:
         void updateUserProfile();
 
 signals:
diff --git a/src/ui/UserProfile.cpp b/src/ui/UserProfile.cpp
index cef8bd85..da130242 100644
--- a/src/ui/UserProfile.cpp
+++ b/src/ui/UserProfile.cpp
@@ -42,7 +42,6 @@ UserProfile::UserProfile(QString roomid,
         if (!cache::client() || !cache::client()->isDatabaseReady())
                 return;
 
-        fetchDeviceList(this->userid_);
         connect(cache::client(),
                 &Cache::verificationStatusChanged,
                 this,
@@ -66,7 +65,9 @@ UserProfile::UserProfile(QString roomid,
                                     : verification::VERIFIED;
                         }
                         deviceList_.reset(deviceList_.deviceList_);
+                        emit devicesChanged();
                 });
+        fetchDeviceList(this->userid_);
 }
 
 QHash<int, QByteArray>
@@ -223,6 +224,7 @@ UserProfile::fetchDeviceList(const QString &userID)
                             }
 
                             this->deviceList_.queueReset(std::move(deviceInfo));
+                            emit devicesChanged();
                     });
           });
 }
diff --git a/src/ui/UserProfile.h b/src/ui/UserProfile.h
index bf71d0de..721d7230 100644
--- a/src/ui/UserProfile.h
+++ b/src/ui/UserProfile.h
@@ -90,7 +90,7 @@ class UserProfile : public QObject
         Q_PROPERTY(QString displayName READ displayName NOTIFY displayNameChanged)
         Q_PROPERTY(QString userid READ userid CONSTANT)
         Q_PROPERTY(QString avatarUrl READ avatarUrl NOTIFY avatarUrlChanged)
-        Q_PROPERTY(DeviceInfoModel *deviceList READ deviceList CONSTANT)
+        Q_PROPERTY(DeviceInfoModel *deviceList READ deviceList NOTIFY devicesChanged)
         Q_PROPERTY(bool isGlobalUserProfile READ isGlobalUserProfile CONSTANT)
         Q_PROPERTY(int userVerified READ getUserStatus NOTIFY userStatusChanged)
         Q_PROPERTY(bool isLoading READ isLoading NOTIFY loadingChanged)
@@ -133,6 +133,7 @@ signals:
         void avatarUrlChanged();
         void displayError(const QString &errorMessage);
         void globalUsernameRetrieved(const QString &globalUser);
+        void devicesChanged();
 
 public slots:
         void updateAvatarUrl();