Show powerlevels in memberlist
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();
|