0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-02 09:46:52 -05:00

gui: reset options, notify user about the backup creation

This commit is contained in:
furszy 2022-06-12 11:59:50 -03:00
parent 37633d2f61
commit ac4fb3bbbe
No known key found for this signature in database
GPG key ID: 5DD23CCC686AA623
3 changed files with 15 additions and 4 deletions

View file

@ -999,6 +999,7 @@ void BitcoinGUI::openOptionsDialogWithTab(OptionsDialog::Tab tab)
auto dlg = new OptionsDialog(this, enableWallet);
connect(dlg, &OptionsDialog::quitOnReset, this, &BitcoinGUI::quitRequested);
dlg->setCurrentTab(tab);
dlg->setClientModel(clientModel);
dlg->setModel(clientModel->getOptionsModel());
GUIUtil::ShowModalDialogAsynchronously(dlg);
}

View file

@ -10,6 +10,7 @@
#include <qt/forms/ui_optionsdialog.h>
#include <qt/bitcoinunits.h>
#include <qt/clientmodel.h>
#include <qt/guiconstants.h>
#include <qt/guiutil.h>
#include <qt/optionsmodel.h>
@ -168,6 +169,11 @@ OptionsDialog::~OptionsDialog()
delete ui;
}
void OptionsDialog::setClientModel(ClientModel* client_model)
{
m_client_model = client_model;
}
void OptionsDialog::setModel(OptionsModel *_model)
{
this->model = _model;
@ -278,14 +284,15 @@ void OptionsDialog::setOkButtonState(bool fState)
void OptionsDialog::on_resetButton_clicked()
{
if(model)
{
if (model) {
// confirmation dialog
QMessageBox::StandardButton btnRetVal = QMessageBox::question(this, tr("Confirm options reset"),
tr("Client restart required to activate changes.") + "<br><br>" + tr("Client will be shut down. Do you want to proceed?"),
tr("Client restart required to activate changes.") + "<br><br>" +
tr("Current settings will be backed up at \"%1\".").arg(m_client_model->dataDir()) + "<br><br>" +
tr("Client will be shut down. Do you want to proceed?"),
QMessageBox::Yes | QMessageBox::Cancel, QMessageBox::Cancel);
if(btnRetVal == QMessageBox::Cancel)
if (btnRetVal == QMessageBox::Cancel)
return;
/* reset all options and close GUI */

View file

@ -8,6 +8,7 @@
#include <QDialog>
#include <QValidator>
class ClientModel;
class OptionsModel;
class QValidatedLineEdit;
@ -45,6 +46,7 @@ public:
TAB_NETWORK,
};
void setClientModel(ClientModel* client_model);
void setModel(OptionsModel *model);
void setMapper();
void setCurrentTab(OptionsDialog::Tab tab);
@ -72,6 +74,7 @@ Q_SIGNALS:
private:
Ui::OptionsDialog *ui;
ClientModel* m_client_model{nullptr};
OptionsModel *model;
QDataWidgetMapper *mapper;
};