Add visualisation of the account's third party IDs in the account editor.

A category won't be shown if there are no relevant IDs (will add the ability to add new ones later).

Part of network/neochat#565

![image](/uploads/7da00b0b4acf90d145c09969ac2a91e1/image.png)
This commit is contained in:
James Graham
2024-04-14 16:37:34 +00:00
parent 1e24bde9a9
commit b7ee83f6b6
8 changed files with 190 additions and 1 deletions

View File

@@ -9,6 +9,8 @@
#include <QCoroTask>
#include <Quotient/connection.h>
#include "models/threepidmodel.h"
class LinkPreviewer;
class NeoChatConnection : public Quotient::Connection
@@ -29,6 +31,11 @@ class NeoChatConnection : public Quotient::Connection
Q_PROPERTY(QString deviceKey READ deviceKey CONSTANT)
Q_PROPERTY(QString encryptionKey READ encryptionKey CONSTANT)
/**
* @brief The model with the account's 3PIDs.
*/
Q_PROPERTY(ThreePIdModel *threePIdModel READ threePIdModel CONSTANT)
/**
* @brief The total number of notifications for all direct chats.
*/
@@ -96,6 +103,8 @@ public:
Q_INVOKABLE void deactivateAccount(const QString &password);
ThreePIdModel *threePIdModel() const;
/**
* @brief Create new room for a group chat.
*/
@@ -167,6 +176,8 @@ private:
bool m_isOnline = true;
void setIsOnline(bool isOnline);
ThreePIdModel *m_threePIdModel;
void connectSignals();
int m_badgeNotificationCount = 0;