summary refs log tree commit diff
path: root/src/ui/UserProfile.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/UserProfile.h')
-rw-r--r--src/ui/UserProfile.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/ui/UserProfile.h b/src/ui/UserProfile.h

index 11f588b6..ffc5dcae 100644 --- a/src/ui/UserProfile.h +++ b/src/ui/UserProfile.h
@@ -4,6 +4,8 @@ #include <QObject> #include <QString> #include <QVector> +#include <mtx/responses.hpp> +#include <mtx/responses/common.hpp> namespace verification { Q_NAMESPACE @@ -81,10 +83,11 @@ 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) + Q_PROPERTY(bool isLoading READ isLoading NOTIFY loadingChanged) Q_PROPERTY( bool userVerificationEnabled READ userVerificationEnabled NOTIFY userStatusChanged) Q_PROPERTY(bool isSelf READ isSelf CONSTANT) @@ -103,6 +106,7 @@ public: bool getUserStatus(); bool userVerificationEnabled() const; bool isSelf() const; + bool isLoading() const; Q_INVOKABLE void verify(QString device = ""); Q_INVOKABLE void unverify(QString device = ""); @@ -112,21 +116,34 @@ public: Q_INVOKABLE void kickUser(); Q_INVOKABLE void startChat(); Q_INVOKABLE void changeUsername(QString username); + Q_INVOKABLE void changeAvatar(); signals: void userStatusChanged(); + void loadingChanged(); void displayNameChanged(); + void avatarUrlChanged(); + void displayError(const QString &errorMessage); void globalUsernameRetrieved(const QString &globalUser); +public slots: + void updateAvatarUrl(); + protected slots: void setGlobalUsername(const QString &globalUser); private: + void updateRoomMemberState(mtx::events::state::Member member); + void getGlobalProfileData(); + +private: QString roomid_, userid_; QString globalUsername; + QString globalAvatarUrl; DeviceInfoModel deviceList_; bool isUserVerified = false; bool hasMasterKey = false; + bool isLoading_ = false; TimelineViewManager *manager; TimelineModel *model; };