summary refs log tree commit diff
path: root/src/ui/RoomSettings.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/RoomSettings.h')
-rw-r--r--src/ui/RoomSettings.h54
1 files changed, 12 insertions, 42 deletions
diff --git a/src/ui/RoomSettings.h b/src/ui/RoomSettings.h

index f79aa3f7..9912cfd6 100644 --- a/src/ui/RoomSettings.h +++ b/src/ui/RoomSettings.h
@@ -5,9 +5,7 @@ #pragma once -#include <QLabel> #include <QObject> -#include <QPushButton> #include <QSet> #include <QString> @@ -16,8 +14,6 @@ #include "CacheStructs.h" -class TextField; - /// Convenience class which connects events emmited from threads /// outside of main with the UI code. class ThreadProxy : public QObject @@ -31,40 +27,6 @@ signals: void stopLoading(); }; -class EditModal : public QWidget -{ - Q_OBJECT - -public: - EditModal(const QString &roomId, QWidget *parent = nullptr); - - void setFields(const QString &roomName, const QString &roomTopic); - -signals: - void nameChanged(const QString &roomName); - void topicChanged(const QString &topic); - -private slots: - void topicEventSent(const QString &topic); - void nameEventSent(const QString &name); - void error(const QString &msg); - - void applyClicked(); - -private: - QString roomId_; - QString initialName_; - QString initialTopic_; - - QLabel *errorField_; - - TextField *nameInput_; - TextField *topicInput_; - - QPushButton *applyBtn_; - QPushButton *cancelBtn_; -}; - class RoomSettings : public QObject { Q_OBJECT @@ -72,6 +34,8 @@ class RoomSettings : public QObject Q_PROPERTY(QString roomVersion READ roomVersion CONSTANT) Q_PROPERTY(QString roomName READ roomName NOTIFY roomNameChanged) Q_PROPERTY(QString roomTopic READ roomTopic NOTIFY roomTopicChanged) + Q_PROPERTY(QString plainRoomName READ plainRoomName NOTIFY roomNameChanged) + Q_PROPERTY(QString plainRoomTopic READ plainRoomTopic NOTIFY roomTopicChanged) Q_PROPERTY(QString roomAvatarUrl READ roomAvatarUrl NOTIFY avatarUrlChanged) Q_PROPERTY(int memberCount READ memberCount CONSTANT) Q_PROPERTY(int notifications READ notifications NOTIFY notificationsChanged) @@ -79,7 +43,8 @@ class RoomSettings : public QObject Q_PROPERTY(bool isLoading READ isLoading NOTIFY loadingChanged) Q_PROPERTY(bool canChangeAvatar READ canChangeAvatar CONSTANT) Q_PROPERTY(bool canChangeJoinRules READ canChangeJoinRules CONSTANT) - Q_PROPERTY(bool canChangeNameAndTopic READ canChangeNameAndTopic CONSTANT) + Q_PROPERTY(bool canChangeName READ canChangeName CONSTANT) + Q_PROPERTY(bool canChangeTopic READ canChangeTopic CONSTANT) Q_PROPERTY(bool isEncryptionEnabled READ isEncryptionEnabled NOTIFY encryptionChanged) Q_PROPERTY(bool supportsKnocking READ supportsKnocking CONSTANT) Q_PROPERTY(bool supportsRestricted READ supportsRestricted CONSTANT) @@ -90,6 +55,8 @@ public: QString roomId() const; QString roomName() const; QString roomTopic() const; + QString plainRoomName() const; + QString plainRoomTopic() const; QString roomVersion() const; QString roomAvatarUrl(); int memberCount() const; @@ -98,8 +65,10 @@ public: bool isLoading() const; //! Whether the user has enough power level to send m.room.join_rules events. bool canChangeJoinRules() const; - //! Whether the user has enough power level to send m.room.name & m.room.topic events. - bool canChangeNameAndTopic() const; + //! Whether the user has enough power level to send m.room.name. + bool canChangeName() const; + //! Whether the user has enough power level to send m.room.topic events. + bool canChangeTopic() const; //! Whether the user has enough power level to send m.room.avatar event. bool canChangeAvatar() const; bool isEncryptionEnabled() const; @@ -108,9 +77,10 @@ public: Q_INVOKABLE void enableEncryption(); Q_INVOKABLE void updateAvatar(); - Q_INVOKABLE void openEditModal(); Q_INVOKABLE void changeAccessRules(int index); Q_INVOKABLE void changeNotifications(int currentIndex); + Q_INVOKABLE void changeTopic(QString topic); + Q_INVOKABLE void changeName(QString name); signals: void loadingChanged();