Add menu option to enable encryption in a private room
2 files changed, 15 insertions, 8 deletions
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 T>
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
|