From: tobtoht Date: Tue, 14 Mar 2023 13:35:10 +0000 (+0100) Subject: wizard: add toggle to change wallet dir X-Git-Url: https://git.nutra.tk/v2?a=commitdiff_plain;h=a4e81953da5d34cac5ed8e0bc4693d1a0cf5f69c;p=gamesguru%2Ffeather.git wizard: add toggle to change wallet dir --- diff --git a/src/wizard/PageWalletFile.cpp b/src/wizard/PageWalletFile.cpp index 5bd43295..40a01966 100644 --- a/src/wizard/PageWalletFile.cpp +++ b/src/wizard/PageWalletFile.cpp @@ -24,20 +24,25 @@ PageWalletFile::PageWalletFile(WizardFields *fields, QWidget *parent) connect(ui->btnChange, &QPushButton::clicked, [=] { QString currentWalletDir = config()->get(Config::walletDirectory).toString(); QString walletDir = QFileDialog::getExistingDirectory(this, "Select wallet directory ", currentWalletDir, QFileDialog::ShowDirsOnly); - if(walletDir.isEmpty()) return; + if (walletDir.isEmpty()) { + return; + } ui->line_walletDir->setText(walletDir); - config()->set(Config::walletDirectory, walletDir); - emit defaultWalletDirChanged(walletDir); }); connect(ui->line_walletName, &QLineEdit::textChanged, this, &PageWalletFile::validateWidgets); - connect(ui->line_walletDir, &QLineEdit::textChanged, this, &PageWalletFile::validateWidgets); + connect(ui->line_walletDir, &QLineEdit::textChanged, this, [this](){ + ui->check_defaultWalletDirectory->setVisible(true); + this->validateWidgets(); + }); } void PageWalletFile::initializePage() { this->setTitle(m_fields->modeText); ui->line_walletDir->setText(config()->get(Config::walletDirectory).toString()); ui->line_walletName->setText(this->defaultWalletName()); + ui->check_defaultWalletDirectory->setVisible(false); + ui->check_defaultWalletDirectory->setChecked(false); } bool PageWalletFile::validateWidgets(){ @@ -85,6 +90,12 @@ bool PageWalletFile::validatePage() { m_fields->walletName = ui->line_walletName->text(); m_fields->walletDir = ui->line_walletDir->text(); + QString walletDir = ui->line_walletDir->text(); + bool dirChanged = config()->get(Config::walletDirectory).toString() != walletDir; + if (dirChanged && ui->check_defaultWalletDirectory->isChecked()) { + config()->set(Config::walletDirectory, walletDir); + } + return true; } diff --git a/src/wizard/PageWalletFile.h b/src/wizard/PageWalletFile.h index 73ac30fc..198746bb 100644 --- a/src/wizard/PageWalletFile.h +++ b/src/wizard/PageWalletFile.h @@ -24,9 +24,6 @@ public: int nextId() const override; bool isComplete() const override; -signals: - void defaultWalletDirChanged(QString walletDir); - private: QString defaultWalletName(); bool walletPathExists(const QString &walletName); diff --git a/src/wizard/PageWalletFile.ui b/src/wizard/PageWalletFile.ui index 84a795e4..c4e2807a 100644 --- a/src/wizard/PageWalletFile.ui +++ b/src/wizard/PageWalletFile.ui @@ -6,8 +6,8 @@ 0 0 - 486 - 317 + 849 + 579 @@ -113,11 +113,19 @@ + + + + Set as default wallet directory + + + label_9 label line_walletName frame + check_defaultWalletDirectory line_walletName diff --git a/src/wizard/WalletWizard.cpp b/src/wizard/WalletWizard.cpp index d876b597..f675da8a 100644 --- a/src/wizard/WalletWizard.cpp +++ b/src/wizard/WalletWizard.cpp @@ -73,11 +73,6 @@ WalletWizard::WalletWizard(QWidget *parent) connect(walletSetPasswordPage, &PageSetPassword::createWallet, this, &WalletWizard::onCreateWallet); - - connect(createWallet, &PageWalletFile::defaultWalletDirChanged, [this](const QString &walletDir){ - emit defaultWalletDirChanged(walletDir); - }); - connect(openWalletPage, &PageOpenWallet::openWallet, [=](const QString &path){ emit openWallet(path, ""); }); diff --git a/src/wizard/WalletWizard.h b/src/wizard/WalletWizard.h index 4cb2284c..0ff8e03e 100644 --- a/src/wizard/WalletWizard.h +++ b/src/wizard/WalletWizard.h @@ -93,7 +93,6 @@ signals: void initialNetworkConfigured(); void showSettings(); void openWallet(QString path, QString password); - void defaultWalletDirChanged(QString walletDir); void createWalletFromDevice(const QString &path, const QString &password, const QString &deviceName, int restoreHeight, const QString &subaddressLookahead); void createWalletFromKeys(const QString &path, const QString &password, const QString &address, const QString &viewkey, const QString &spendkey, quint64 restoreHeight, const QString subaddressLookahead = "");