mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-03-21 13:10:08 +01:00
qt, wallet: Add LoadWalletsActivity class
Also this commit moves wallets loading out from the main GUI thread.
This commit is contained in:
@@ -41,10 +41,6 @@ WalletController::WalletController(ClientModel& client_model, const PlatformStyl
|
||||
getOrCreateWallet(std::move(wallet));
|
||||
});
|
||||
|
||||
for (std::unique_ptr<interfaces::Wallet>& wallet : m_node.walletClient().getWallets()) {
|
||||
getOrCreateWallet(std::move(wallet));
|
||||
}
|
||||
|
||||
m_activity_worker->moveToThread(m_activity_thread);
|
||||
m_activity_thread->start();
|
||||
QTimer::singleShot(0, m_activity_worker, []() {
|
||||
@@ -342,3 +338,21 @@ void OpenWalletActivity::open(const std::string& path)
|
||||
QTimer::singleShot(0, this, &OpenWalletActivity::finish);
|
||||
});
|
||||
}
|
||||
|
||||
LoadWalletsActivity::LoadWalletsActivity(WalletController* wallet_controller, QWidget* parent_widget)
|
||||
: WalletControllerActivity(wallet_controller, parent_widget)
|
||||
{
|
||||
}
|
||||
|
||||
void LoadWalletsActivity::load()
|
||||
{
|
||||
showProgressDialog(tr("Loading wallets…"));
|
||||
|
||||
QTimer::singleShot(0, worker(), [this] {
|
||||
for (auto& wallet : node().walletClient().getWallets()) {
|
||||
m_wallet_controller->getOrCreateWallet(std::move(wallet));
|
||||
}
|
||||
|
||||
QTimer::singleShot(0, this, [this] { Q_EMIT finished(); });
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user