summary refs log tree commit diff
path: root/include/dialogs
diff options
context:
space:
mode:
Diffstat (limited to 'include/dialogs')
-rw-r--r--include/dialogs/RoomSettings.hpp35
1 files changed, 34 insertions, 1 deletions
diff --git a/include/dialogs/RoomSettings.hpp b/include/dialogs/RoomSettings.hpp

index 79ca9375..f4145060 100644 --- a/include/dialogs/RoomSettings.hpp +++ b/include/dialogs/RoomSettings.hpp
@@ -12,10 +12,38 @@ class QPixmap; class QLayout; class QLabel; class QComboBox; +class TextField; +class QLabel; template<class T> class QSharedPointer; +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); + +private: + QString roomId_; + QString initialName_; + QString initialTopic_; + + QLabel *errorField_; + + TextField *nameInput_; + TextField *topicInput_; + + FlatButton *applyBtn_; + FlatButton *cancelBtn_; +}; + class TopSection : public QWidget { Q_OBJECT @@ -25,6 +53,7 @@ class TopSection : public QWidget public: TopSection(const RoomInfo &info, const QImage &img, QWidget *parent = nullptr); QSize sizeHint() const override; + void setRoomName(const QString &name); QColor textColor() const { return textColor_; } void setTextColor(QColor &color) { textColor_ = color; } @@ -56,7 +85,7 @@ protected: void paintEvent(QPaintEvent *event) override; private slots: - void save_and_close(); + void saveSettings(); private: static constexpr int AvatarSize = 64; @@ -67,10 +96,14 @@ private: FlatButton *saveBtn_; FlatButton *cancelBtn_; + FlatButton *editFieldsBtn_; + RoomInfo info_; QString room_id_; QImage avatarImg_; + TopSection *topSection_; + QComboBox *accessCombo; };