mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-22 14:35:07 +02:00
Merge #15202: gui: Add Close All Wallets action
c4b574899abfa27f83c6948593838ed418c78f9c gui: Add Close All Wallets action (João Barbosa) f30960adc02877267cb6efeb378962ed96628741 gui: Add closeAllWallets to WalletController (João Barbosa) Pull request description: This PR adds the action to close all wallets. <img width="405" alt="Screenshot 2020-06-01 at 01 06 12" src="https://user-images.githubusercontent.com/3534524/83365986-25a8b980-a3a4-11ea-9613-24dcd8eaa55c.png"> ACKs for top commit: jonasschnelli: Tested ACK c4b574899abfa27f83c6948593838ed418c78f9c Tree-SHA512: 049ad77ac79949fb55f6bde47b583fbf946f4bfaf3d56d768e85f813d814cff0fe326b700f7b5e383cda4af7b5666e13043a6aaeee3798a69fc94385d88ce809
This commit is contained in:
commit
7f9800caf9
@ -350,6 +350,9 @@ void BitcoinGUI::createActions()
|
||||
m_create_wallet_action->setEnabled(false);
|
||||
m_create_wallet_action->setStatusTip(tr("Create a new wallet"));
|
||||
|
||||
m_close_all_wallets_action = new QAction(tr("Close All Wallets..."), this);
|
||||
m_close_all_wallets_action->setStatusTip(tr("Close all wallets"));
|
||||
|
||||
showHelpMessageAction = new QAction(tr("&Command-line options"), this);
|
||||
showHelpMessageAction->setMenuRole(QAction::NoRole);
|
||||
showHelpMessageAction->setStatusTip(tr("Show the %1 help message to get a list with possible Bitcoin command-line options").arg(PACKAGE_NAME));
|
||||
@ -421,7 +424,9 @@ void BitcoinGUI::createActions()
|
||||
connect(activity, &CreateWalletActivity::finished, activity, &QObject::deleteLater);
|
||||
activity->create();
|
||||
});
|
||||
|
||||
connect(m_close_all_wallets_action, &QAction::triggered, [this] {
|
||||
m_wallet_controller->closeAllWallets(this);
|
||||
});
|
||||
connect(m_mask_values_action, &QAction::toggled, this, &BitcoinGUI::setPrivacy);
|
||||
}
|
||||
#endif // ENABLE_WALLET
|
||||
@ -447,6 +452,7 @@ void BitcoinGUI::createMenuBar()
|
||||
file->addAction(m_create_wallet_action);
|
||||
file->addAction(m_open_wallet_action);
|
||||
file->addAction(m_close_wallet_action);
|
||||
file->addAction(m_close_all_wallets_action);
|
||||
file->addSeparator();
|
||||
file->addAction(openAction);
|
||||
file->addAction(backupWalletAction);
|
||||
@ -727,6 +733,7 @@ void BitcoinGUI::setWalletActionsEnabled(bool enabled)
|
||||
usedReceivingAddressesAction->setEnabled(enabled);
|
||||
openAction->setEnabled(enabled);
|
||||
m_close_wallet_action->setEnabled(enabled);
|
||||
m_close_all_wallets_action->setEnabled(enabled);
|
||||
}
|
||||
|
||||
void BitcoinGUI::createTrayIcon()
|
||||
|
@ -155,6 +155,7 @@ private:
|
||||
QAction* m_open_wallet_action{nullptr};
|
||||
QMenu* m_open_wallet_menu{nullptr};
|
||||
QAction* m_close_wallet_action{nullptr};
|
||||
QAction* m_close_all_wallets_action{nullptr};
|
||||
QAction* m_wallet_selector_label_action = nullptr;
|
||||
QAction* m_wallet_selector_action = nullptr;
|
||||
QAction* m_mask_values_action{nullptr};
|
||||
|
@ -92,6 +92,23 @@ void WalletController::closeWallet(WalletModel* wallet_model, QWidget* parent)
|
||||
removeAndDeleteWallet(wallet_model);
|
||||
}
|
||||
|
||||
void WalletController::closeAllWallets(QWidget* parent)
|
||||
{
|
||||
QMessageBox::StandardButton button = QMessageBox::question(parent, tr("Close all wallets"),
|
||||
tr("Are you sure you wish to close all wallets?"),
|
||||
QMessageBox::Yes|QMessageBox::Cancel,
|
||||
QMessageBox::Yes);
|
||||
if (button != QMessageBox::Yes) return;
|
||||
|
||||
QMutexLocker locker(&m_mutex);
|
||||
for (WalletModel* wallet_model : m_wallets) {
|
||||
wallet_model->wallet().remove();
|
||||
Q_EMIT walletRemoved(wallet_model);
|
||||
delete wallet_model;
|
||||
}
|
||||
m_wallets.clear();
|
||||
}
|
||||
|
||||
WalletModel* WalletController::getOrCreateWallet(std::unique_ptr<interfaces::Wallet> wallet)
|
||||
{
|
||||
QMutexLocker locker(&m_mutex);
|
||||
|
@ -62,6 +62,7 @@ public:
|
||||
std::map<std::string, bool> listWalletDir() const;
|
||||
|
||||
void closeWallet(WalletModel* wallet_model, QWidget* parent = nullptr);
|
||||
void closeAllWallets(QWidget* parent = nullptr);
|
||||
|
||||
Q_SIGNALS:
|
||||
void walletAdded(WalletModel* wallet_model);
|
||||
|
Loading…
x
Reference in New Issue
Block a user