Expose wallet creation to the GUI via WalletController

Co-authored-by: João Barbosa <joao.paulo.barbosa@gmail.com>
This commit is contained in:
Andrew Chow
2019-05-24 17:14:16 -04:00
parent 78863e2900
commit 9b41cbb28f
7 changed files with 146 additions and 2 deletions

View File

@@ -6,6 +6,7 @@
#define BITCOIN_QT_WALLETCONTROLLER_H
#include <qt/walletmodel.h>
#include <support/allocators/secure.h>
#include <sync.h>
#include <map>
@@ -16,8 +17,9 @@
#include <QMessageBox>
#include <QMutex>
#include <QProgressDialog>
#include <QString>
#include <QThread>
#include <QTimer>
#include <QString>
class OptionsModel;
class PlatformStyle;
@@ -27,6 +29,9 @@ class Handler;
class Node;
} // namespace interfaces
class AskPassphraseDialog;
class CreateWalletActivity;
class CreateWalletDialog;
class OpenWalletActivity;
class WalletControllerActivity;
@@ -98,6 +103,30 @@ protected:
std::string m_warning_message;
};
class CreateWalletActivity : public WalletControllerActivity
{
Q_OBJECT
public:
CreateWalletActivity(WalletController* wallet_controller, QWidget* parent_widget);
virtual ~CreateWalletActivity();
void create();
Q_SIGNALS:
void created(WalletModel* wallet_model);
private:
void askPasshprase();
void createWallet();
void finish();
SecureString m_passphrase;
CreateWalletDialog* m_create_wallet_dialog{nullptr};
AskPassphraseDialog* m_passphrase_dialog{nullptr};
};
class OpenWalletActivity : public WalletControllerActivity
{
Q_OBJECT