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);
53 ui->descriptor_checkbox->setEnabled(!checked);
58 ui->descriptor_checkbox->setChecked(checked);
59 ui->encrypt_wallet_checkbox->setChecked(false);
60 ui->disable_privkeys_checkbox->setChecked(checked);
64 ui->blank_wallet_checkbox->setChecked(checked);
67 connect(ui->disable_privkeys_checkbox, &QCheckBox::toggled, [
this](
bool checked) {
70 ui->encrypt_wallet_checkbox->setEnabled(!checked);
74 ui->blank_wallet_checkbox->setChecked(true);
78 if (!ui->encrypt_wallet_checkbox->isEnabled()) {
79 ui->encrypt_wallet_checkbox->setChecked(false);
83 connect(ui->blank_wallet_checkbox, &QCheckBox::toggled, [
this](
bool checked) {
85 ui->disable_privkeys_checkbox->setChecked(false);
90 ui->descriptor_checkbox->setToolTip(tr(
"Compiled without sqlite support (required for descriptor wallets)"));
91 ui->descriptor_checkbox->setEnabled(
false);
92 ui->descriptor_checkbox->setChecked(
false);
93 ui->external_signer_checkbox->setEnabled(
false);
94 ui->external_signer_checkbox->setChecked(
false);
98 ui->descriptor_checkbox->setEnabled(
false);
99 ui->descriptor_checkbox->setChecked(
true);
102 #ifndef ENABLE_EXTERNAL_SIGNER
104 ui->external_signer_checkbox->setToolTip(tr(
"Compiled without external signing support (required for external signing)"));
105 ui->external_signer_checkbox->setEnabled(
false);
106 ui->external_signer_checkbox->setChecked(
false);
120 ui->external_signer_checkbox->setEnabled(
true);
121 ui->external_signer_checkbox->setChecked(
true);
122 ui->encrypt_wallet_checkbox->setEnabled(
false);
123 ui->encrypt_wallet_checkbox->setChecked(
false);
125 ui->blank_wallet_checkbox->setEnabled(
false);
126 ui->blank_wallet_checkbox->setChecked(
false);
127 ui->disable_privkeys_checkbox->setEnabled(
false);
128 ui->disable_privkeys_checkbox->setChecked(
true);
129 const std::string label = signers[0]->getName();
130 ui->wallet_name_line_edit->setText(QString::fromStdString(label));
131 ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(
true);
133 ui->external_signer_checkbox->setEnabled(
false);
139 return ui->wallet_name_line_edit->text();
144 return ui->encrypt_wallet_checkbox->isChecked();
149 return ui->disable_privkeys_checkbox->isChecked();
154 return ui->blank_wallet_checkbox->isChecked();
159 return ui->descriptor_checkbox->isChecked();
164 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 isDescriptorWalletChecked() const
bool isExternalSignerChecked() const
CreateWalletDialog(QWidget *parent)
Utility functions used by the Bitcoin Qt UI.
constexpr auto dialog_flags