Changeset View
Changeset View
Standalone View
Standalone View
src/qt/walletcontroller.h
// Copyright (c) 2019 The Bitcoin Core developers | // Copyright (c) 2019 The Bitcoin Core developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#ifndef BITCOIN_QT_WALLETCONTROLLER_H | #ifndef BITCOIN_QT_WALLETCONTROLLER_H | ||||
#define BITCOIN_QT_WALLETCONTROLLER_H | #define BITCOIN_QT_WALLETCONTROLLER_H | ||||
#include <qt/walletmodel.h> | #include <qt/walletmodel.h> | ||||
#include <support/allocators/secure.h> | |||||
#include <sync.h> | #include <sync.h> | ||||
#include <QMutex> | #include <QMutex> | ||||
#include <map> | #include <map> | ||||
#include <memory> | #include <memory> | ||||
#include <string> | #include <string> | ||||
#include <vector> | #include <vector> | ||||
#include <QMessageBox> | #include <QMessageBox> | ||||
#include <QProgressDialog> | #include <QProgressDialog> | ||||
#include <QString> | #include <QString> | ||||
#include <QThread> | #include <QThread> | ||||
#include <QTimer> | |||||
class OptionsModel; | class OptionsModel; | ||||
class PlatformStyle; | class PlatformStyle; | ||||
namespace interfaces { | namespace interfaces { | ||||
class Handler; | class Handler; | ||||
class Node; | class Node; | ||||
} // namespace interfaces | } // namespace interfaces | ||||
class AskPassphraseDialog; | |||||
class CreateWalletActivity; | |||||
class CreateWalletDialog; | |||||
class OpenWalletActivity; | class OpenWalletActivity; | ||||
class WalletControllerActivity; | class WalletControllerActivity; | ||||
/** | /** | ||||
* Controller between interfaces::Node, WalletModel instances and the GUI. | * Controller between interfaces::Node, WalletModel instances and the GUI. | ||||
*/ | */ | ||||
class WalletController : public QObject { | class WalletController : public QObject { | ||||
Q_OBJECT | Q_OBJECT | ||||
▲ Show 20 Lines • Show All 60 Lines • ▼ Show 20 Lines | protected: | ||||
QProgressDialog *m_progress_dialog{nullptr}; | QProgressDialog *m_progress_dialog{nullptr}; | ||||
WalletModel *m_wallet_model{nullptr}; | WalletModel *m_wallet_model{nullptr}; | ||||
std::string m_error_message; | std::string m_error_message; | ||||
std::string m_warning_message; | std::string m_warning_message; | ||||
const CChainParams &m_chainparams; | const CChainParams &m_chainparams; | ||||
}; | }; | ||||
class CreateWalletActivity : public WalletControllerActivity { | |||||
Q_OBJECT | |||||
public: | |||||
CreateWalletActivity(WalletController *wallet_controller, | |||||
QWidget *parent_widget, | |||||
const CChainParams &chainparams); | |||||
virtual ~CreateWalletActivity(); | |||||
void create(); | |||||
Q_SIGNALS: | |||||
void created(WalletModel *wallet_model); | |||||
private: | |||||
void askPassphrase(); | |||||
void createWallet(); | |||||
void finish(); | |||||
SecureString m_passphrase; | |||||
CreateWalletDialog *m_create_wallet_dialog{nullptr}; | |||||
AskPassphraseDialog *m_passphrase_dialog{nullptr}; | |||||
}; | |||||
class OpenWalletActivity : public WalletControllerActivity { | class OpenWalletActivity : public WalletControllerActivity { | ||||
Q_OBJECT | Q_OBJECT | ||||
public: | public: | ||||
OpenWalletActivity(WalletController *wallet_controller, | OpenWalletActivity(WalletController *wallet_controller, | ||||
QWidget *parent_widget, const CChainParams &chainparams); | QWidget *parent_widget, const CChainParams &chainparams); | ||||
void open(const std::string &path); | void open(const std::string &path); | ||||
Show All 9 Lines |