From 4a2d0ab9e9657ed1873e8376c3990a10cee86943 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Sun, 21 Jan 2018 19:50:40 +0100 Subject: [PATCH] [CSE] Move code to display minemonic out of the libsync The libsync should not contain Qt Widget related code. --- src/gui/accountmanager.cpp | 15 +++++++++++++++ src/gui/accountmanager.h | 3 +++ src/libsync/clientsideencryption.cpp | 9 +-------- src/libsync/clientsideencryption.h | 1 + 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/gui/accountmanager.cpp b/src/gui/accountmanager.cpp index 9330987dc..e7f6517d9 100644 --- a/src/gui/accountmanager.cpp +++ b/src/gui/accountmanager.cpp @@ -23,6 +23,8 @@ #include #include #include +#include +#include "clientsideencryption.h" namespace { static const char urlC[] = "url"; @@ -324,10 +326,23 @@ AccountPtr AccountManager::createAccount() acc->setSslErrorHandler(new SslDialogErrorHandler); connect(acc.data(), &Account::proxyAuthenticationRequired, ProxyAuthHandler::instance(), &ProxyAuthHandler::handleProxyAuthenticationRequired); + + connect(acc.data()->e2e(), &ClientSideEncryption::mnemonicGenerated, + &AccountManager::displayMnemonic); + return acc; } +void AccountManager::displayMnemonic(const QString& mnemonic) +{ + QMessageBox msgBox; + msgBox.setText(tr("Note your encryption passphrase")); + msgBox.setDetailedText(mnemonic); + msgBox.setIcon(QMessageBox::Information); + msgBox.setStandardButtons(QMessageBox::Ok); + msgBox.exec(); +} void AccountManager::shutdown() { auto accountsCopy = _accounts; diff --git a/src/gui/accountmanager.h b/src/gui/accountmanager.h index a2c13bec2..35df3584a 100644 --- a/src/gui/accountmanager.h +++ b/src/gui/accountmanager.h @@ -97,6 +97,9 @@ public slots: /// Saves account state data, not including the account void saveAccountState(AccountState *a); + /// Display a Box with the mnemonic so the user can copy it to a safe place. + static void displayMnemonic(const QString& mnemonic); + Q_SIGNALS: void accountAdded(AccountState *account); diff --git a/src/libsync/clientsideencryption.cpp b/src/libsync/clientsideencryption.cpp index 7e5d42858..4a31c403f 100644 --- a/src/libsync/clientsideencryption.cpp +++ b/src/libsync/clientsideencryption.cpp @@ -27,7 +27,6 @@ #include #include #include -#include #include @@ -931,13 +930,7 @@ void ClientSideEncryption::encryptPrivateKey() _mnemonic = list.join(' '); qCInfo(lcCse()) << "mnemonic Generated:" << _mnemonic; - QMessageBox msgBox; - msgBox.setText(tr("Note your encryption passphrase")); - msgBox.setDetailedText(_mnemonic); - msgBox.setIcon(QMessageBox::Information); - msgBox.setStandardButtons(QMessageBox::Ok); - - msgBox.exec(); + emit mnemonicGenerated(_mnemonic); QString passPhrase = list.join(QString()).toLower(); qCInfo(lcCse()) << "Passphrase Generated:" << passPhrase; diff --git a/src/libsync/clientsideencryption.h b/src/libsync/clientsideencryption.h index b5ffab5dc..4497dbcff 100644 --- a/src/libsync/clientsideencryption.h +++ b/src/libsync/clientsideencryption.h @@ -96,6 +96,7 @@ private slots: signals: void initializationFinished(); + void mnemonicGenerated(const QString& mnemonic); private: void getPrivateKeyFromServer();