summary refs log tree commit diff
path: root/src/ui
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2022-06-18 00:17:24 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2022-06-18 00:17:24 +0200
commit07228d336ab74b90c39d2cf8c9e152f93bb38f7f (patch)
tree86894b4e6e6130f54766522d70af3c5185fa1095 /src/ui
parentSkip migration if sender_key is not a string or present (diff)
downloadnheko-07228d336ab74b90c39d2cf8c9e152f93bb38f7f.tar.xz
Support the knock_restricted rule
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/RoomSettings.cpp13
-rw-r--r--src/ui/RoomSettings.h2
2 files changed, 15 insertions, 0 deletions
diff --git a/src/ui/RoomSettings.cpp b/src/ui/RoomSettings.cpp

index 42db1955..2d124e1e 100644 --- a/src/ui/RoomSettings.cpp +++ b/src/ui/RoomSettings.cpp
@@ -78,6 +78,8 @@ RoomSettings::RoomSettings(QString roomid, QObject *parent) accessRules_ = 3; } else if (info_.join_rule == state::JoinRule::Restricted) { accessRules_ = 4; + } else if (info_.join_rule == state::JoinRule::KnockRestricted) { + accessRules_ = 5; } emit accessJoinRulesChanged(); } @@ -263,6 +265,14 @@ RoomSettings::supportsRestricted() const info_.version != "3" && info_.version != "4" && info_.version != "5" && info_.version != "6" && info_.version != "7"; } +bool +RoomSettings::supportsKnockRestricted() const +{ + return info_.version != "" && info_.version != "1" && info_.version != "2" && + info_.version != "3" && info_.version != "4" && info_.version != "5" && + info_.version != "6" && info_.version != "7" && info_.version != "8" && + info_.version != "9"; +} void RoomSettings::changeNotifications(int currentIndex) @@ -349,6 +359,9 @@ RoomSettings::changeAccessRules(int index) case 4: event.join_rule = state::JoinRule::Restricted; break; + case 5: + event.join_rule = state::JoinRule::KnockRestricted; + break; default: event.join_rule = state::JoinRule::Invite; } diff --git a/src/ui/RoomSettings.h b/src/ui/RoomSettings.h
index 9912cfd6..4cb5bcf4 100644 --- a/src/ui/RoomSettings.h +++ b/src/ui/RoomSettings.h
@@ -48,6 +48,7 @@ class RoomSettings : public QObject Q_PROPERTY(bool isEncryptionEnabled READ isEncryptionEnabled NOTIFY encryptionChanged) Q_PROPERTY(bool supportsKnocking READ supportsKnocking CONSTANT) Q_PROPERTY(bool supportsRestricted READ supportsRestricted CONSTANT) + Q_PROPERTY(bool supportsKnockRestricted READ supportsKnockRestricted CONSTANT) public: RoomSettings(QString roomid, QObject *parent = nullptr); @@ -74,6 +75,7 @@ public: bool isEncryptionEnabled() const; bool supportsKnocking() const; bool supportsRestricted() const; + bool supportsKnockRestricted() const; Q_INVOKABLE void enableEncryption(); Q_INVOKABLE void updateAvatar();