aboutsummaryrefslogtreecommitdiff
path: root/src/qt/bitcoingui.cpp
diff options
context:
space:
mode:
authorAndrew Chow <github@achow101.com>2023-06-13 15:04:43 -0400
committerAndrew Chow <github@achow101.com>2023-06-23 14:24:33 -0400
commit48aae2cffeb91add75a70ac4d5075c38054452fa (patch)
tree87f61b153b99287ce844e0a8cf5423df887b3533 /src/qt/bitcoingui.cpp
parent577be889cd52fc2d896a5f39c66bc2cadb8622e4 (diff)
downloadbitcoin-48aae2cffeb91add75a70ac4d5075c38054452fa.tar.xz
gui: Add File > Migrate Wallet
Diffstat (limited to 'src/qt/bitcoingui.cpp')
-rw-r--r--src/qt/bitcoingui.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index f201d8fa01..6147d986d0 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -359,6 +359,10 @@ void BitcoinGUI::createActions()
m_close_all_wallets_action = new QAction(tr("Close All Wallets…"), this);
m_close_all_wallets_action->setStatusTip(tr("Close all wallets"));
+ m_migrate_wallet_action = new QAction(tr("Migrate Wallet"), this);
+ m_migrate_wallet_action->setEnabled(false);
+ m_migrate_wallet_action->setStatusTip(tr("Migrate a wallet"));
+
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));
@@ -456,6 +460,11 @@ void BitcoinGUI::createActions()
connect(m_close_all_wallets_action, &QAction::triggered, [this] {
m_wallet_controller->closeAllWallets(this);
});
+ connect(m_migrate_wallet_action, &QAction::triggered, [this] {
+ auto activity = new MigrateWalletActivity(m_wallet_controller, this);
+ connect(activity, &MigrateWalletActivity::migrated, this, &BitcoinGUI::setCurrentWallet);
+ activity->migrate(walletFrame->currentWalletModel());
+ });
connect(m_mask_values_action, &QAction::toggled, this, &BitcoinGUI::setPrivacy);
connect(m_mask_values_action, &QAction::toggled, this, &BitcoinGUI::enableHistoryAction);
}
@@ -483,6 +492,7 @@ void BitcoinGUI::createMenuBar()
file->addAction(m_open_wallet_action);
file->addAction(m_close_wallet_action);
file->addAction(m_close_all_wallets_action);
+ file->addAction(m_migrate_wallet_action);
file->addSeparator();
file->addAction(backupWalletAction);
file->addAction(m_restore_wallet_action);
@@ -767,6 +777,7 @@ void BitcoinGUI::setCurrentWallet(WalletModel* wallet_model)
}
}
updateWindowTitle();
+ m_migrate_wallet_action->setEnabled(wallet_model->wallet().isLegacy());
}
void BitcoinGUI::setCurrentWalletBySelectorIndex(int index)
@@ -800,6 +811,7 @@ void BitcoinGUI::setWalletActionsEnabled(bool enabled)
openAction->setEnabled(enabled);
m_close_wallet_action->setEnabled(enabled);
m_close_all_wallets_action->setEnabled(enabled);
+ m_migrate_wallet_action->setEnabled(enabled);
}
void BitcoinGUI::createTrayIcon()