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(){
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;
}
<rect>
<x>0</x>
<y>0</y>
- <width>486</width>
- <height>317</height>
+ <width>849</width>
+ <height>579</height>
</rect>
</property>
<property name="windowTitle">
</property>
</spacer>
</item>
+ <item row="6" column="0">
+ <widget class="QCheckBox" name="check_defaultWalletDirectory">
+ <property name="text">
+ <string>Set as default wallet directory</string>
+ </property>
+ </widget>
+ </item>
</layout>
<zorder>label_9</zorder>
<zorder>label</zorder>
<zorder>line_walletName</zorder>
<zorder>frame</zorder>
+ <zorder>check_defaultWalletDirectory</zorder>
</widget>
<tabstops>
<tabstop>line_walletName</tabstop>
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, "");
});
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 = "");