diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -144,6 +144,7 @@ QAction *openAction = nullptr; QAction *showHelpMessageAction = nullptr; QAction *m_open_wallet_action{nullptr}; + QAction *m_close_wallet_action{nullptr}; QAction *m_wallet_selector_label_action = nullptr; QAction *m_wallet_selector_action = nullptr; diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -398,6 +398,9 @@ m_open_wallet_action->setMenu(new QMenu(this)); m_open_wallet_action->setStatusTip(tr("Open a wallet")); + m_close_wallet_action = new QAction(tr("Close Wallet..."), this); + m_close_wallet_action->setStatusTip(tr("Close wallet")); + showHelpMessageAction = new QAction(platformStyle->TextColorIcon(":/icons/info"), tr("&Command-line options"), this); @@ -502,6 +505,10 @@ action->setEnabled(false); } }); + connect(m_close_wallet_action, &QAction::triggered, [this] { + m_wallet_controller->closeWallet(walletFrame->currentWalletModel(), + this); + }); } #endif // ENABLE_WALLET @@ -526,6 +533,7 @@ QMenu *file = appMenuBar->addMenu(tr("&File")); if (walletFrame) { file->addAction(m_open_wallet_action); + file->addAction(m_close_wallet_action); file->addSeparator(); file->addAction(openAction); file->addAction(backupWalletAction); @@ -764,6 +772,7 @@ usedSendingAddressesAction->setEnabled(enabled); usedReceivingAddressesAction->setEnabled(enabled); openAction->setEnabled(enabled); + m_close_wallet_action->setEnabled(enabled); } void BitcoinGUI::createTrayIcon() {