Skip to content

Commit f30960a

Browse files
committed
gui: Add closeAllWallets to WalletController
1 parent a65b55f commit f30960a

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

src/qt/walletcontroller.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,23 @@ void WalletController::closeWallet(WalletModel* wallet_model, QWidget* parent)
9292
removeAndDeleteWallet(wallet_model);
9393
}
9494

95+
void WalletController::closeAllWallets(QWidget* parent)
96+
{
97+
QMessageBox::StandardButton button = QMessageBox::question(parent, tr("Close all wallets"),
98+
tr("Are you sure you wish to close all wallets?"),
99+
QMessageBox::Yes|QMessageBox::Cancel,
100+
QMessageBox::Yes);
101+
if (button != QMessageBox::Yes) return;
102+
103+
QMutexLocker locker(&m_mutex);
104+
for (WalletModel* wallet_model : m_wallets) {
105+
wallet_model->wallet().remove();
106+
Q_EMIT walletRemoved(wallet_model);
107+
delete wallet_model;
108+
}
109+
m_wallets.clear();
110+
}
111+
95112
WalletModel* WalletController::getOrCreateWallet(std::unique_ptr<interfaces::Wallet> wallet)
96113
{
97114
QMutexLocker locker(&m_mutex);

src/qt/walletcontroller.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ class WalletController : public QObject
6262
std::map<std::string, bool> listWalletDir() const;
6363

6464
void closeWallet(WalletModel* wallet_model, QWidget* parent = nullptr);
65+
void closeAllWallets(QWidget* parent = nullptr);
6566

6667
Q_SIGNALS:
6768
void walletAdded(WalletModel* wallet_model);

0 commit comments

Comments
 (0)