Changeset View
Changeset View
Standalone View
Standalone View
src/qt/bitcoingui.cpp
Show First 20 Lines • Show All 444 Lines • ▼ Show 20 Lines | if (walletFrame) { | ||||
connect(usedSendingAddressesAction, &QAction::triggered, walletFrame, | connect(usedSendingAddressesAction, &QAction::triggered, walletFrame, | ||||
&WalletFrame::usedSendingAddresses); | &WalletFrame::usedSendingAddresses); | ||||
connect(usedReceivingAddressesAction, &QAction::triggered, walletFrame, | connect(usedReceivingAddressesAction, &QAction::triggered, walletFrame, | ||||
&WalletFrame::usedReceivingAddresses); | &WalletFrame::usedReceivingAddresses); | ||||
connect(openAction, &QAction::triggered, this, | connect(openAction, &QAction::triggered, this, | ||||
&BitcoinGUI::openClicked); | &BitcoinGUI::openClicked); | ||||
connect(m_open_wallet_menu, &QMenu::aboutToShow, [this] { | connect(m_open_wallet_menu, &QMenu::aboutToShow, [this] { | ||||
m_open_wallet_menu->clear(); | m_open_wallet_menu->clear(); | ||||
std::vector<std::string> available_wallets = | for (const std::pair<const std::string, bool> &i : | ||||
m_wallet_controller->getWalletsAvailableToOpen(); | m_wallet_controller->listWalletDir()) { | ||||
std::vector<std::string> wallets = m_node.listWalletDir(); | const std::string &path = i.first; | ||||
for (const auto &path : wallets) { | |||||
QString name = path.empty() | QString name = path.empty() | ||||
? QString("[" + tr("default wallet") + "]") | ? QString("[" + tr("default wallet") + "]") | ||||
: QString::fromStdString(path); | : QString::fromStdString(path); | ||||
QAction *action = m_open_wallet_menu->addAction(name); | QAction *action = m_open_wallet_menu->addAction(name); | ||||
if (std::find(available_wallets.begin(), | if (i.second) { | ||||
available_wallets.end(), | |||||
path) == available_wallets.end()) { | |||||
// This wallet is already loaded | // This wallet is already loaded | ||||
action->setEnabled(false); | action->setEnabled(false); | ||||
continue; | continue; | ||||
} | } | ||||
connect(action, &QAction::triggered, [this, name, path] { | connect(action, &QAction::triggered, [this, name, path] { | ||||
OpenWalletActivity *activity = | OpenWalletActivity *activity = | ||||
m_wallet_controller->openWallet( | m_wallet_controller->openWallet( | ||||
Show All 22 Lines | if (walletFrame) { | ||||
connect(activity, &OpenWalletActivity::opened, this, | connect(activity, &OpenWalletActivity::opened, this, | ||||
&BitcoinGUI::setCurrentWallet); | &BitcoinGUI::setCurrentWallet); | ||||
connect(activity, &OpenWalletActivity::finished, activity, | connect(activity, &OpenWalletActivity::finished, activity, | ||||
&QObject::deleteLater); | &QObject::deleteLater); | ||||
connect(activity, &OpenWalletActivity::finished, dialog, | connect(activity, &OpenWalletActivity::finished, dialog, | ||||
&QObject::deleteLater); | &QObject::deleteLater); | ||||
}); | }); | ||||
} | } | ||||
if (wallets.empty()) { | if (m_open_wallet_menu->isEmpty()) { | ||||
QAction *action = | QAction *action = | ||||
m_open_wallet_menu->addAction(tr("No wallets available")); | m_open_wallet_menu->addAction(tr("No wallets available")); | ||||
action->setEnabled(false); | action->setEnabled(false); | ||||
} | } | ||||
}); | }); | ||||
connect(m_close_wallet_action, &QAction::triggered, [this] { | connect(m_close_wallet_action, &QAction::triggered, [this] { | ||||
m_wallet_controller->closeWallet(walletFrame->currentWalletModel(), | m_wallet_controller->closeWallet(walletFrame->currentWalletModel(), | ||||
this); | this); | ||||
▲ Show 20 Lines • Show All 1,047 Lines • Show Last 20 Lines |