From ab0baf5d9eb3319f8d3da15bd966ab8ab2810fce Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Sun, 2 May 2021 18:01:18 +0200 Subject: Only show actions, when you have permissions to do them --- src/timeline/Permissions.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/timeline/Permissions.h (limited to 'src/timeline/Permissions.h') diff --git a/src/timeline/Permissions.h b/src/timeline/Permissions.h new file mode 100644 index 00000000..f7e6f389 --- /dev/null +++ b/src/timeline/Permissions.h @@ -0,0 +1,33 @@ +// SPDX-FileCopyrightText: 2021 Nheko Contributors +// +// SPDX-License-Identifier: GPL-3.0-or-later + +#pragma once + +#include + +#include + +class TimelineModel; + +class Permissions : public QObject +{ + Q_OBJECT + +public: + Permissions(TimelineModel *parent); + + Q_INVOKABLE bool canInvite(); + Q_INVOKABLE bool canBan(); + Q_INVOKABLE bool canKick(); + + Q_INVOKABLE bool canRedact(); + Q_INVOKABLE bool canChange(int eventType); + Q_INVOKABLE bool canSend(int eventType); + + void invalidate(); + +private: + TimelineModel *room; + mtx::events::state::PowerLevels pl; +}; -- cgit 1.5.1