Added support for refreshing the device list, marking current device with a checkmark instead of a lock
2 files changed, 14 insertions, 0 deletions
diff --git a/src/ui/UserProfile.cpp b/src/ui/UserProfile.cpp
index 58150ed7..62488954 100644
--- a/src/ui/UserProfile.cpp
+++ b/src/ui/UserProfile.cpp
@@ -152,6 +152,15 @@ UserProfile::isSelf() const
}
void
+UserProfile::refreshDevices()
+{
+ std::vector<std::string> keysToRequest;
+ keysToRequest.push_back(this->userid_.toStdString());
+ cache::client()->markUserKeysOutOfDate(keysToRequest);
+ fetchDeviceList(this->userid_);
+}
+
+void
UserProfile::fetchDeviceList(const QString &userID)
{
auto localUser = utils::localUser();
@@ -205,6 +214,9 @@ UserProfile::fetchDeviceList(const QString &userID)
device, DeviceId(device.device_id), UserId(other_user_id)))
verified = verification::Status::VERIFIED;
+ if (isSelf() && device.device_id == ::http::client()->device_id())
+ verified = verification::Status::SELF;
+
deviceInfo.push_back(
{QString::fromStdString(d.first),
QString::fromStdString(device.unsigned_info.device_display_name),
diff --git a/src/ui/UserProfile.h b/src/ui/UserProfile.h
index a148c431..c83ec01e 100644
--- a/src/ui/UserProfile.h
+++ b/src/ui/UserProfile.h
@@ -18,6 +18,7 @@ Q_NAMESPACE
enum Status
{
+ SELF,
VERIFIED,
UNVERIFIED,
BLOCKED
@@ -118,6 +119,7 @@ public:
Q_INVOKABLE void verify(QString device = "");
Q_INVOKABLE void unverify(QString device = "");
Q_INVOKABLE void fetchDeviceList(const QString &userID);
+ Q_INVOKABLE void refreshDevices();
Q_INVOKABLE void banUser();
// Q_INVOKABLE void ignoreUser();
Q_INVOKABLE void kickUser();
|