From fad55470d59d3aa80ff577dbf6bfd4434be6538d Mon Sep 17 00:00:00 2001 From: Matthieu Gallien Date: Fri, 23 Jun 2023 18:20:47 +0200 Subject: [PATCH] ensure e2ee can be disabled from client Signed-off-by: Matthieu Gallien --- src/gui/accountsettings.cpp | 21 +++++++++++++-------- src/gui/accountsettings.h | 2 ++ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/gui/accountsettings.cpp b/src/gui/accountsettings.cpp index 36ed056ab8..21df46b085 100644 --- a/src/gui/accountsettings.cpp +++ b/src/gui/accountsettings.cpp @@ -1561,13 +1561,7 @@ void AccountSettings::initializeE2eEncryption() if (!_accountState->account()->e2e()->_mnemonic.isEmpty()) { slotE2eEncryptionMnemonicReady(); } else { - _ui->encryptionMessage->setMessageType(KMessageWidget::Information); - _ui->encryptionMessage->setText(tr("This account supports end-to-end encryption")); - _ui->encryptionMessage->setIcon(Theme::createColorAwareIcon(QStringLiteral(":/client/theme/black/state-info.svg"))); - _ui->encryptionMessage->hide(); - - auto *const actionEnableE2e = addActionToEncryptionMessage(tr("Set up encryption"), e2EeUiActionEnableEncryptionId); - connect(actionEnableE2e, &QAction::triggered, this, &AccountSettings::slotE2eEncryptionGenerateKeys); + initializeE2eEncryptionSettingsMessage(); connect(_accountState->account()->e2e(), &ClientSideEncryption::initializationFinished, this, [this] { if (!_accountState->account()->e2e()->_publicKey.isNull()) { @@ -1590,7 +1584,7 @@ void AccountSettings::resetE2eEncryption() } _ui->encryptionMessage->setText({}); _ui->encryptionMessage->setIcon({}); - initializeE2eEncryption(); + initializeE2eEncryptionSettingsMessage(); checkClientSideEncryptionState(); const auto account = _accountState->account(); @@ -1627,6 +1621,17 @@ QAction *AccountSettings::addActionToEncryptionMessage(const QString &actionTitl return action; } +void AccountSettings::initializeE2eEncryptionSettingsMessage() +{ + _ui->encryptionMessage->setMessageType(KMessageWidget::Information); + _ui->encryptionMessage->setText(tr("This account supports end-to-end encryption")); + _ui->encryptionMessage->setIcon(Theme::createColorAwareIcon(QStringLiteral(":/client/theme/black/state-info.svg"))); + _ui->encryptionMessage->hide(); + + auto *const actionEnableE2e = addActionToEncryptionMessage(tr("Set up encryption"), e2EeUiActionEnableEncryptionId); + connect(actionEnableE2e, &QAction::triggered, this, &AccountSettings::slotE2eEncryptionGenerateKeys); +} + } // namespace OCC #include "accountsettings.moc" diff --git a/src/gui/accountsettings.h b/src/gui/accountsettings.h index 0be744d723..1ddbc097d4 100644 --- a/src/gui/accountsettings.h +++ b/src/gui/accountsettings.h @@ -132,6 +132,8 @@ private: bool event(QEvent *) override; QAction *addActionToEncryptionMessage(const QString &actionTitle, const QString &actionId); + void initializeE2eEncryptionSettingsMessage(); + /// Returns the alias of the selected folder, empty string if none [[nodiscard]] QString selectedFolderAlias() const;