summary refs log tree commit diff
path: root/src/timeline/Permissions.cpp
diff options
context:
space:
mode:
authorJoseph Donofry <joedonofry@gmail.com>2021-11-03 21:43:11 -0400
committerJoseph Donofry <joedonofry@gmail.com>2021-11-03 21:43:11 -0400
commit743a83c8e6f0b64b21e8042a9eb04ce35c713008 (patch)
treef980bdb8c45e607547f87e48f42144227166aa6c /src/timeline/Permissions.cpp
parentMerge remote-tracking branch 'nheko-im/master' into video_player_enhancements (diff)
parentUpdate translations (diff)
downloadnheko-743a83c8e6f0b64b21e8042a9eb04ce35c713008.tar.xz
Update video_player_enhancements with changes from master
Diffstat (limited to 'src/timeline/Permissions.cpp')
-rw-r--r--src/timeline/Permissions.cpp37
1 files changed, 22 insertions, 15 deletions
diff --git a/src/timeline/Permissions.cpp b/src/timeline/Permissions.cpp

index e4957045..4e45f2e2 100644 --- a/src/timeline/Permissions.cpp +++ b/src/timeline/Permissions.cpp
@@ -12,52 +12,59 @@ Permissions::Permissions(QString roomId, QObject *parent) : QObject(parent) , roomId_(roomId) { - invalidate(); + invalidate(); } void Permissions::invalidate() { - pl = cache::client() - ->getStateEvent<mtx::events::state::PowerLevels>(roomId_.toStdString()) - .value_or(mtx::events::StateEvent<mtx::events::state::PowerLevels>{}) - .content; + pl = cache::client() + ->getStateEvent<mtx::events::state::PowerLevels>(roomId_.toStdString()) + .value_or(mtx::events::StateEvent<mtx::events::state::PowerLevels>{}) + .content; } bool Permissions::canInvite() { - return pl.user_level(http::client()->user_id().to_string()) >= pl.invite; + return pl.user_level(http::client()->user_id().to_string()) >= pl.invite; } bool Permissions::canBan() { - return pl.user_level(http::client()->user_id().to_string()) >= pl.ban; + return pl.user_level(http::client()->user_id().to_string()) >= pl.ban; } bool Permissions::canKick() { - return pl.user_level(http::client()->user_id().to_string()) >= pl.kick; + return pl.user_level(http::client()->user_id().to_string()) >= pl.kick; } bool Permissions::canRedact() { - return pl.user_level(http::client()->user_id().to_string()) >= pl.redact; + return pl.user_level(http::client()->user_id().to_string()) >= pl.redact; } bool Permissions::canChange(int eventType) { - return pl.user_level(http::client()->user_id().to_string()) >= - pl.state_level(to_string(qml_mtx_events::fromRoomEventType( - static_cast<qml_mtx_events::EventType>(eventType)))); + return pl.user_level(http::client()->user_id().to_string()) >= + pl.state_level(to_string( + qml_mtx_events::fromRoomEventType(static_cast<qml_mtx_events::EventType>(eventType)))); } bool Permissions::canSend(int eventType) { - return pl.user_level(http::client()->user_id().to_string()) >= - pl.event_level(to_string(qml_mtx_events::fromRoomEventType( - static_cast<qml_mtx_events::EventType>(eventType)))); + return pl.user_level(http::client()->user_id().to_string()) >= + pl.event_level(to_string( + qml_mtx_events::fromRoomEventType(static_cast<qml_mtx_events::EventType>(eventType)))); +} + +bool +Permissions::canPingRoom() +{ + return pl.user_level(http::client()->user_id().to_string()) >= + pl.notification_level(mtx::events::state::notification_keys::room); }