diff options
author | Nicolas Werner <nicolas.werner@hotmail.de> | 2022-06-26 00:09:00 +0200 |
---|---|---|
committer | Nicolas Werner <nicolas.werner@hotmail.de> | 2022-06-26 00:09:00 +0200 |
commit | dc4a06517c775a4d0ea01048e9218bfb64c5ae65 (patch) | |
tree | f7b978d95118559d02d993013db3c6eb3211791f /src/PowerlevelsEditModels.h | |
parent | Fix linting (diff) | |
download | nheko-dc4a06517c775a4d0ea01048e9218bfb64c5ae65.tar.xz |
Add an option to define new power levels
Diffstat (limited to '')
-rw-r--r-- | src/PowerlevelsEditModels.h | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/PowerlevelsEditModels.h b/src/PowerlevelsEditModels.h index 25ad6d5a..9aa955d2 100644 --- a/src/PowerlevelsEditModels.h +++ b/src/PowerlevelsEditModels.h @@ -15,6 +15,10 @@ class PowerlevelsTypeListModel : public QAbstractListModel { Q_OBJECT +signals: + void adminLevelChanged(); + void moderatorLevelChanged(); + public: enum Roles { @@ -36,6 +40,7 @@ public: Q_INVOKABLE bool remove(int row); Q_INVOKABLE bool move(int from, int to); Q_INVOKABLE void add(int index, QString type); + void addRole(int64_t role); bool moveRows(const QModelIndex &sourceParent, int sourceRow, @@ -50,7 +55,6 @@ public: mtx::events::state::power_level_t eventsDefault(); mtx::events::state::power_level_t stateDefault(); -private: struct Entry { ~Entry() = default; @@ -68,6 +72,9 @@ class PowerlevelsUserListModel : public QAbstractListModel { Q_OBJECT +signals: + void defaultUserLevelChanged(); + public: enum Roles { @@ -91,6 +98,7 @@ public: Q_INVOKABLE bool remove(int row); Q_INVOKABLE bool move(int from, int to); Q_INVOKABLE void add(int index, QString user); + void addRole(int64_t role); bool moveRows(const QModelIndex &sourceParent, int sourceRow, @@ -101,7 +109,6 @@ public: std::map<std::string, mtx::events::state::power_level_t, std::less<>> toUsers(); mtx::events::state::power_level_t usersDefault(); -private: struct Entry { ~Entry() = default; @@ -121,8 +128,14 @@ class PowerlevelEditingModels : public QObject Q_PROPERTY(PowerlevelsUserListModel *users READ users CONSTANT) Q_PROPERTY(PowerlevelsTypeListModel *types READ types CONSTANT) - Q_PROPERTY(qlonglong adminLevel READ adminLevel CONSTANT) - Q_PROPERTY(qlonglong moderatorLevel READ moderatorLevel CONSTANT) + Q_PROPERTY(qlonglong adminLevel READ adminLevel NOTIFY adminLevelChanged) + Q_PROPERTY(qlonglong moderatorLevel READ moderatorLevel NOTIFY moderatorLevelChanged) + Q_PROPERTY(qlonglong defaultUserLevel READ defaultUserLevel NOTIFY defaultUserLevelChanged) + +signals: + void adminLevelChanged(); + void moderatorLevelChanged(); + void defaultUserLevelChanged(); public: explicit PowerlevelEditingModels(QString room_id, QObject *parent = nullptr); @@ -134,8 +147,10 @@ public: return powerLevels_.state_level(to_string(mtx::events::EventType::RoomPowerLevels)); } qlonglong moderatorLevel() const { return powerLevels_.redact; } + qlonglong defaultUserLevel() const { return powerLevels_.users_default; } Q_INVOKABLE void commit(); + Q_INVOKABLE void addRole(int pl); mtx::events::state::PowerLevels powerLevels_; PowerlevelsTypeListModel types_; |