summary refs log tree commit diff
path: root/src/ui
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2021-01-12 14:49:15 +0100
committerNicolas Werner <nicolas.werner@hotmail.de>2021-01-12 15:00:59 +0100
commit31881e14d9edf9e4239f0638d8694bba5eccb0a7 (patch)
treeaf707e08a36e39c4ec0040ea29f07a170bbb8fc5 /src/ui
parentMake device verification request dialogs easier to understand. (diff)
downloadnheko-31881e14d9edf9e4239f0638d8694bba5eccb0a7.tar.xz
Make it easier to understand, what button to click for verification from profile
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/UserProfile.cpp20
-rw-r--r--src/ui/UserProfile.h6
2 files changed, 20 insertions, 6 deletions
diff --git a/src/ui/UserProfile.cpp b/src/ui/UserProfile.cpp

index 6ef82123..08219a38 100644 --- a/src/ui/UserProfile.cpp +++ b/src/ui/UserProfile.cpp
@@ -112,6 +112,17 @@ UserProfile::getUserStatus() return isUserVerified; } +bool +UserProfile::userVerificationEnabled() const +{ + return hasMasterKey; +} +bool +UserProfile::isSelf() const +{ + return this->userid_ == utils::localUser(); +} + void UserProfile::fetchDeviceList(const QString &userID) { @@ -128,10 +139,10 @@ UserProfile::fetchDeviceList(const QString &userID) return; } - // Finding if the User is Verified or not based on the Signatures + // Ensure local key cache is up to date cache::client()->query_keys( utils::localUser().toStdString(), - [other_user_id, other_user_keys, this](const UserKeyCache &res, + [other_user_id, other_user_keys, this](const UserKeyCache &, mtx::http::RequestErr err) { using namespace mtx; std::string local_user_id = utils::localUser().toStdString(); @@ -143,10 +154,7 @@ UserProfile::fetchDeviceList(const QString &userID) return; } - if (res.device_keys.empty()) { - nhlog::net()->warn("no devices retrieved {}", local_user_id); - return; - } + this->hasMasterKey = !other_user_keys.master_keys.keys.empty(); std::vector<DeviceInfo> deviceInfo; auto devices = other_user_keys.device_keys; diff --git a/src/ui/UserProfile.h b/src/ui/UserProfile.h
index 62151266..19527310 100644 --- a/src/ui/UserProfile.h +++ b/src/ui/UserProfile.h
@@ -84,6 +84,9 @@ class UserProfile : public QObject Q_PROPERTY(QString avatarUrl READ avatarUrl CONSTANT) Q_PROPERTY(DeviceInfoModel *deviceList READ deviceList CONSTANT) Q_PROPERTY(bool isUserVerified READ getUserStatus NOTIFY userStatusChanged) + Q_PROPERTY( + bool userVerificationEnabled READ userVerificationEnabled NOTIFY userStatusChanged) + Q_PROPERTY(bool isSelf READ isSelf CONSTANT) public: UserProfile(QString roomid, QString userid, @@ -96,6 +99,8 @@ public: QString displayName(); QString avatarUrl(); bool getUserStatus(); + bool userVerificationEnabled() const; + bool isSelf() const; Q_INVOKABLE void verify(QString device = ""); Q_INVOKABLE void unverify(QString device = ""); @@ -112,6 +117,7 @@ private: QString roomid_, userid_; DeviceInfoModel deviceList_; bool isUserVerified = false; + bool hasMasterKey = false; TimelineViewManager *manager; TimelineModel *model; };