summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorkirillpt <kirp@dismail.de>2020-11-27 00:55:39 +0300
committerkirillpt <kirp@dismail.de>2020-11-27 00:55:39 +0300
commite6723884a7d32f5ab9b8caae25f602b705934363 (patch)
treecef95a50661aacdbad838aa1b1cfddb7fe1492d6 /src
parent5a3905b33720b98998c36100a07fb3a270acf47d (diff)
fix encryption toggles
Diffstat (limited to 'src')
-rw-r--r--src/dialogs/CreateRoom.cpp1
-rw-r--r--src/dialogs/RoomSettings.cpp64
2 files changed, 33 insertions, 32 deletions
diff --git a/src/dialogs/CreateRoom.cpp b/src/dialogs/CreateRoom.cpp
index b5dc5247..459405ce 100644
--- a/src/dialogs/CreateRoom.cpp
+++ b/src/dialogs/CreateRoom.cpp
@@ -81,7 +81,6 @@ CreateRoom::CreateRoom(QWidget *parent)
directToggle_->setActiveColor(QColor("#38A3D8"));
directToggle_->setInactiveColor(QColor("gray"));
directToggle_->setState(false);
- directToggle_->setChecked(false);
auto directLayout = new QHBoxLayout;
directLayout->setContentsMargins(0, 10, 0, 10);
diff --git a/src/dialogs/RoomSettings.cpp b/src/dialogs/RoomSettings.cpp
index 30da0eac..e6c9c58c 100644
--- a/src/dialogs/RoomSettings.cpp
+++ b/src/dialogs/RoomSettings.cpp
@@ -1,3 +1,4 @@
+#include "dialogs/RoomSettings.h"
#include <QApplication>
#include <QComboBox>
#include <QEvent>
@@ -15,8 +16,6 @@
#include <QStandardPaths>
#include <QStyleOption>
#include <QVBoxLayout>
-
-#include "dialogs/RoomSettings.h"
#include <mtx/responses/common.hpp>
#include <mtx/responses/media.hpp>
@@ -405,8 +404,31 @@ RoomSettings::RoomSettings(const QString &room_id, QWidget *parent)
auto encryptionLabel = new QLabel(tr("Encryption"), this);
encryptionToggle_ = new Toggle(this);
- connect(encryptionToggle_, &Toggle::toggled, this, [this](bool isOn) {
- if (!isOn)
+
+ auto encryptionOptionLayout = new QHBoxLayout;
+ encryptionOptionLayout->setMargin(0);
+ encryptionOptionLayout->addWidget(encryptionLabel, Qt::AlignBottom | Qt::AlignLeft);
+ encryptionOptionLayout->addWidget(encryptionToggle_, 0, Qt::AlignBottom | Qt::AlignRight);
+
+ auto keyRequestsLabel = new QLabel(tr("Respond to key requests"), this);
+ keyRequestsLabel->setToolTipDuration(6000);
+ keyRequestsLabel->setToolTip(
+ tr("Whether or not the client should respond automatically with the session keys\n"
+ " upon request. Use with caution, this is a temporary measure to test the\n"
+ " E2E implementation until device verification is completed."));
+ keyRequestsToggle_ = new Toggle(this);
+ connect(keyRequestsToggle_, &Toggle::toggled, this, [this](bool isOn) {
+ utils::setKeyRequestsPreference(room_id_, isOn);
+ });
+
+ auto keyRequestsLayout = new QHBoxLayout;
+ keyRequestsLayout->setMargin(0);
+ keyRequestsLayout->setSpacing(0);
+ keyRequestsLayout->addWidget(keyRequestsLabel, Qt::AlignBottom | Qt::AlignLeft);
+ keyRequestsLayout->addWidget(keyRequestsToggle_, 0, Qt::AlignBottom | Qt::AlignRight);
+
+ connect(encryptionToggle_, &Toggle::toggled, this, [this, keyRequestsLabel](bool isOn) {
+ if (!isOn || usesEncryption_)
return;
QMessageBox msgBox;
@@ -422,44 +444,22 @@ RoomSettings::RoomSettings(const QString &room_id, QWidget *parent)
switch (ret) {
case QMessageBox::Ok: {
encryptionToggle_->setState(true);
- encryptionToggle_->setEnabled(true);
+ encryptionToggle_->setEnabled(false);
enableEncryption();
+ keyRequestsToggle_->show();
+ keyRequestsLabel->show();
break;
}
default: {
- encryptionToggle_->setState(false);
- encryptionToggle_->setEnabled(false);
break;
}
}
});
- auto encryptionOptionLayout = new QHBoxLayout;
- encryptionOptionLayout->setMargin(0);
- encryptionOptionLayout->addWidget(encryptionLabel, Qt::AlignBottom | Qt::AlignLeft);
- encryptionOptionLayout->addWidget(encryptionToggle_, 0, Qt::AlignBottom | Qt::AlignRight);
-
- auto keyRequestsLabel = new QLabel(tr("Respond to key requests"), this);
- keyRequestsLabel->setToolTipDuration(6000);
- keyRequestsLabel->setToolTip(
- tr("Whether or not the client should respond automatically with the session keys\n"
- " upon request. Use with caution, this is a temporary measure to test the\n"
- " E2E implementation until device verification is completed."));
- keyRequestsToggle_ = new Toggle(this);
- connect(keyRequestsToggle_, &Toggle::toggled, this, [this](bool isOn) {
- utils::setKeyRequestsPreference(room_id_, isOn);
- });
-
- auto keyRequestsLayout = new QHBoxLayout;
- keyRequestsLayout->setMargin(0);
- keyRequestsLayout->setSpacing(0);
- keyRequestsLayout->addWidget(keyRequestsLabel, Qt::AlignBottom | Qt::AlignLeft);
- keyRequestsLayout->addWidget(keyRequestsToggle_, 0, Qt::AlignBottom | Qt::AlignRight);
-
// Disable encryption button.
if (usesEncryption_) {
encryptionToggle_->setState(true);
- encryptionToggle_->setEnabled(true);
+ encryptionToggle_->setEnabled(false);
keyRequestsToggle_->setState(utils::respondsToKeyRequests(room_id_));
} else {
@@ -544,7 +544,9 @@ RoomSettings::RoomSettings(const QString &room_id, QWidget *parent)
connect(this, &RoomSettings::enableEncryptionError, this, [this](const QString &msg) {
encryptionToggle_->setState(false);
- encryptionToggle_->setEnabled(false);
+ keyRequestsToggle_->setState(false);
+ keyRequestsToggle_->setEnabled(false);
+ keyRequestsToggle_->hide();
emit ChatPage::instance()->showNotification(msg);
});