5 #if defined(HAVE_CONFIG_H)
11 #include <qt/forms/ui_createwalletdialog.h>
15 #include <QPushButton>
22 ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr(
"Create"));
23 ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(
false);
24 ui->wallet_name_line_edit->setFocus(Qt::ActiveWindowFocusReason);
26 connect(
ui->wallet_name_line_edit, &QLineEdit::textEdited, [
this](
const QString& text) {
27 ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!text.isEmpty());
30 connect(
ui->encrypt_wallet_checkbox, &QCheckBox::toggled, [
this](
bool checked) {
33 ui->disable_privkeys_checkbox->setEnabled(!checked);
34 #ifdef ENABLE_EXTERNAL_SIGNER
35 ui->external_signer_checkbox->setEnabled(m_has_signers && !checked);
38 if (!ui->disable_privkeys_checkbox->isEnabled()) {
39 ui->disable_privkeys_checkbox->setChecked(false);
43 if (!
ui->external_signer_checkbox->isEnabled()) {
44 ui->external_signer_checkbox->setChecked(false);
49 connect(ui->external_signer_checkbox, &QCheckBox::toggled, [
this](
bool checked) {
50 ui->encrypt_wallet_checkbox->setEnabled(!checked);
51 ui->blank_wallet_checkbox->setEnabled(!checked);
52 ui->disable_privkeys_checkbox->setEnabled(!checked);
57 ui->encrypt_wallet_checkbox->setChecked(false);
58 ui->disable_privkeys_checkbox->setChecked(checked);
59 ui->blank_wallet_checkbox->setChecked(false);
62 connect(ui->disable_privkeys_checkbox, &QCheckBox::toggled, [
this](
bool checked) {
65 ui->encrypt_wallet_checkbox->setEnabled(!checked);
68 ui->blank_wallet_checkbox->setEnabled(!checked);
70 ui->blank_wallet_checkbox->setChecked(false);
74 if (!ui->encrypt_wallet_checkbox->isEnabled()) {
75 ui->encrypt_wallet_checkbox->setChecked(false);
79 connect(ui->blank_wallet_checkbox, &QCheckBox::toggled, [
this](
bool checked) {
82 ui->disable_privkeys_checkbox->setEnabled(!checked);
84 ui->disable_privkeys_checkbox->setChecked(false);
88 #ifndef ENABLE_EXTERNAL_SIGNER
90 ui->external_signer_checkbox->setToolTip(tr(
"Compiled without external signing support (required for external signing)"));
91 ui->external_signer_checkbox->setEnabled(
false);
92 ui->external_signer_checkbox->setChecked(
false);
106 ui->external_signer_checkbox->setEnabled(
true);
107 ui->external_signer_checkbox->setChecked(
true);
108 ui->encrypt_wallet_checkbox->setEnabled(
false);
109 ui->encrypt_wallet_checkbox->setChecked(
false);
111 ui->blank_wallet_checkbox->setEnabled(
false);
112 ui->blank_wallet_checkbox->setChecked(
false);
113 ui->disable_privkeys_checkbox->setEnabled(
false);
114 ui->disable_privkeys_checkbox->setChecked(
true);
115 const std::string label = signers[0]->getName();
116 ui->wallet_name_line_edit->setText(QString::fromStdString(label));
117 ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(
true);
119 ui->external_signer_checkbox->setEnabled(
false);
125 return ui->wallet_name_line_edit->text();
130 return ui->encrypt_wallet_checkbox->isChecked();
135 return ui->disable_privkeys_checkbox->isChecked();
140 return ui->blank_wallet_checkbox->isChecked();
145 return ui->external_signer_checkbox->isChecked();
Dialog for creating wallets.
bool isMakeBlankWalletChecked() const
virtual ~CreateWalletDialog()
QString walletName() const
Ui::CreateWalletDialog * ui
bool isDisablePrivateKeysChecked() const
void setSigners(const std::vector< std::unique_ptr< interfaces::ExternalSigner >> &signers)
bool isEncryptWalletChecked() const
bool isExternalSignerChecked() const
CreateWalletDialog(QWidget *parent)
Utility functions used by the Bitcoin Qt UI.
constexpr auto dialog_flags