@@ -334,6 +334,10 @@ void BitcoinGUI::createActions()
334
334
openAction = new QAction (platformStyle->TextColorIcon (" :/icons/open" ), tr (" Open &URI..." ), this );
335
335
openAction->setStatusTip (tr (" Open a bitcoin: URI or payment request" ));
336
336
337
+ m_open_wallet_action = new QAction (tr (" Open Wallet" ), this );
338
+ m_open_wallet_action->setMenu (new QMenu (this ));
339
+ m_open_wallet_action->setStatusTip (tr (" Open a wallet" ));
340
+
337
341
showHelpMessageAction = new QAction (platformStyle->TextColorIcon (" :/icons/info" ), tr (" &Command-line options" ), this );
338
342
showHelpMessageAction->setMenuRole (QAction::NoRole);
339
343
showHelpMessageAction->setStatusTip (tr (" Show the %1 help message to get a list with possible Bitcoin command-line options" ).arg (tr (PACKAGE_NAME)));
@@ -361,6 +365,16 @@ void BitcoinGUI::createActions()
361
365
connect (usedSendingAddressesAction, &QAction::triggered, walletFrame, &WalletFrame::usedSendingAddresses);
362
366
connect (usedReceivingAddressesAction, &QAction::triggered, walletFrame, &WalletFrame::usedReceivingAddresses);
363
367
connect (openAction, &QAction::triggered, this , &BitcoinGUI::openClicked);
368
+ connect (m_open_wallet_action->menu (), &QMenu::aboutToShow, [this ] {
369
+ m_open_wallet_action->menu ()->clear ();
370
+ for (std::string path : m_wallet_controller->getWalletsAvailableToOpen ()) {
371
+ QString name = path.empty () ? QString (" [" +tr (" default wallet" )+" ]" ) : QString::fromStdString (path);
372
+ QAction* action = m_open_wallet_action->menu ()->addAction (name);
373
+ connect (action, &QAction::triggered, [this , path] {
374
+ setCurrentWallet (m_wallet_controller->openWallet (path));
375
+ });
376
+ }
377
+ });
364
378
}
365
379
#endif // ENABLE_WALLET
366
380
@@ -382,6 +396,8 @@ void BitcoinGUI::createMenuBar()
382
396
QMenu *file = appMenuBar->addMenu (tr (" &File" ));
383
397
if (walletFrame)
384
398
{
399
+ file->addAction (m_open_wallet_action);
400
+ file->addSeparator ();
385
401
file->addAction (openAction);
386
402
file->addAction (backupWalletAction);
387
403
file->addAction (signMessageAction);
0 commit comments