Changeset View
Changeset View
Standalone View
Standalone View
src/qt/bitcoingui.cpp
Show First 20 Lines • Show All 440 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_action->menu(), &QMenu::aboutToShow, [this] { | connect(m_open_wallet_action->menu(), &QMenu::aboutToShow, [this] { | ||||
m_open_wallet_action->menu()->clear(); | m_open_wallet_action->menu()->clear(); | ||||
for (std::string path : | std::vector<std::string> available_wallets = | ||||
m_wallet_controller->getWalletsAvailableToOpen()) { | m_wallet_controller->getWalletsAvailableToOpen(); | ||||
std::vector<std::string> wallets = m_node.listWalletDir(); | |||||
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_action->menu()->addAction(name); | QAction *action = m_open_wallet_action->menu()->addAction(name); | ||||
if (std::find(available_wallets.begin(), | |||||
available_wallets.end(), | |||||
path) == available_wallets.end()) { | |||||
// This wallet is already loaded | |||||
action->setEnabled(false); | |||||
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( | ||||
config->GetChainParams(), path); | config->GetChainParams(), path); | ||||
QProgressDialog *dialog = new QProgressDialog(this); | QProgressDialog *dialog = new QProgressDialog(this); | ||||
dialog->setLabelText(tr("Opening Wallet <b>%1</b>...") | dialog->setLabelText(tr("Opening Wallet <b>%1</b>...") | ||||
.arg(name.toHtmlEscaped())); | .arg(name.toHtmlEscaped())); | ||||
Show All 17 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()) { | |||||
QAction *action = m_open_wallet_action->menu()->addAction( | |||||
tr("No wallets available")); | |||||
action->setEnabled(false); | |||||
} | |||||
}); | }); | ||||
} | } | ||||
#endif // ENABLE_WALLET | #endif // ENABLE_WALLET | ||||
connect(new QShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_C), this), | connect(new QShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_C), this), | ||||
&QShortcut::activated, this, | &QShortcut::activated, this, | ||||
&BitcoinGUI::showDebugWindowActivateConsole); | &BitcoinGUI::showDebugWindowActivateConsole); | ||||
connect(new QShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_D), this), | connect(new QShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_D), this), | ||||
▲ Show 20 Lines • Show All 1,034 Lines • Show Last 20 Lines |