summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2022-05-07 02:30:16 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2022-05-07 02:30:16 +0200
commitdb1bcd7b5aec3c3c814083b6d98020508f98ed13 (patch)
tree56e28e3cfbc6763a1f26f8debd4bfe33b8e3b34e /src
parentMerge branch 'TheDrawingCoder-Gamer-master' (diff)
downloadnheko-db1bcd7b5aec3c3c814083b6d98020508f98ed13.tar.xz
Show powerlevels in memberlist
Diffstat (limited to 'src')
-rw-r--r--src/MemberList.cpp1
-rw-r--r--src/timeline/Permissions.cpp25
-rw-r--r--src/timeline/Permissions.h4
3 files changed, 30 insertions, 0 deletions
diff --git a/src/MemberList.cpp b/src/MemberList.cpp

index fcd9d624..ff1b1a79 100644 --- a/src/MemberList.cpp +++ b/src/MemberList.cpp
@@ -59,6 +59,7 @@ MemberListBackend::roleNames() const {DisplayName, "displayName"}, {AvatarUrl, "avatarUrl"}, {Trustlevel, "trustlevel"}, + {Powerlevel, "powerlevel"}, }; } diff --git a/src/timeline/Permissions.cpp b/src/timeline/Permissions.cpp
index 917495a2..01d38599 100644 --- a/src/timeline/Permissions.cpp +++ b/src/timeline/Permissions.cpp
@@ -63,6 +63,31 @@ Permissions::canSend(int eventType) qml_mtx_events::fromRoomEventType(static_cast<qml_mtx_events::EventType>(eventType)))); } +int +Permissions::defaultLevel() +{ + return pl.users_default; +} +int +Permissions::redactLevel() +{ + return pl.redact; +} +int +Permissions::changeLevel(int eventType) +{ + return + pl.state_level(to_string( + qml_mtx_events::fromRoomEventType(static_cast<qml_mtx_events::EventType>(eventType)))); +} +int +Permissions::sendLevel(int eventType) +{ + return + pl.event_level(to_string( + qml_mtx_events::fromRoomEventType(static_cast<qml_mtx_events::EventType>(eventType)))); +} + bool Permissions::canPingRoom() { diff --git a/src/timeline/Permissions.h b/src/timeline/Permissions.h
index c0b47b37..1285f01d 100644 --- a/src/timeline/Permissions.h +++ b/src/timeline/Permissions.h
@@ -25,6 +25,10 @@ public: Q_INVOKABLE bool canRedact(); Q_INVOKABLE bool canChange(int eventType); Q_INVOKABLE bool canSend(int eventType); + Q_INVOKABLE int defaultLevel(); + Q_INVOKABLE int redactLevel(); + Q_INVOKABLE int changeLevel(int eventType); + Q_INVOKABLE int sendLevel(int eventType); Q_INVOKABLE bool canPingRoom();