From 36cb62748b1a1c98d64ea3e8cfce0ef1cb5ba0c4 Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris Date: Tue, 12 Jun 2018 09:45:26 +0300 Subject: Add menu option to enable encryption in a private room --- include/Cache.h | 2 ++ include/dialogs/RoomSettings.hpp | 21 +++++++++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) (limited to 'include') diff --git a/include/Cache.h b/include/Cache.h index 994a6da7..97133b0c 100644 --- a/include/Cache.h +++ b/include/Cache.h @@ -342,6 +342,8 @@ public: //! Mark a room that uses e2e encryption. void setEncryptedRoom(const std::string &room_id); + bool isRoomEncrypted(const std::string &room_id); + //! Save the public keys for a device. void saveDeviceKeys(const std::string &device_id); void getDeviceKeys(const std::string &device_id); diff --git a/include/dialogs/RoomSettings.hpp b/include/dialogs/RoomSettings.hpp index 9a01d5c9..6cab03b7 100644 --- a/include/dialogs/RoomSettings.hpp +++ b/include/dialogs/RoomSettings.hpp @@ -5,16 +5,17 @@ #include "Cache.h" +class Avatar; class FlatButton; -class TextField; +class QComboBox; class QHBoxLayout; -class Avatar; -class QPixmap; -class QLayout; class QLabel; -class QComboBox; -class TextField; class QLabel; +class QLayout; +class QPixmap; +class TextField; +class TextField; +class Toggle; template class QSharedPointer; @@ -84,6 +85,7 @@ public: signals: void closing(); + void enableEncryptionError(const QString &msg); protected: void paintEvent(QPaintEvent *event) override; @@ -98,13 +100,15 @@ private: void setupEditButton(); //! Retrieve the current room information from cache. void retrieveRoomInfo(); + void enableEncryption(); //! Whether the user would be able to change the name or the topic of the room. - bool hasEditRights_ = true; + bool hasEditRights_ = true; + bool usesEncryption_ = false; QHBoxLayout *editLayout_; // Button section - FlatButton *saveBtn_; + FlatButton *okBtn_; FlatButton *cancelBtn_; FlatButton *editFieldsBtn_; @@ -116,6 +120,7 @@ private: TopSection *topSection_; QComboBox *accessCombo; + Toggle *encryptionToggle_; }; } // dialogs -- cgit 1.5.1