diff --git a/src/qt/forms/optionsdialog.ui b/src/qt/forms/optionsdialog.ui index 270b7ae9e..1b81b0cdc 100644 --- a/src/qt/forms/optionsdialog.ui +++ b/src/qt/forms/optionsdialog.ui @@ -432,12 +432,6 @@ false - - false - - - false - diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp index 6bb7eaec2..f8d1fe56f 100644 --- a/src/qt/optionsdialog.cpp +++ b/src/qt/optionsdialog.cpp @@ -87,10 +87,10 @@ OptionsDialog::OptionsDialog(QWidget *parent) : mapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit); mapper->setOrientation(Qt::Vertical); - /* enable save buttons when data modified */ - connect(mapper, SIGNAL(viewModified()), this, SLOT(enableSaveButtons())); - /* disable save buttons when new data loaded */ - connect(mapper, SIGNAL(currentIndexChanged(int)), this, SLOT(disableSaveButtons())); + /* enable apply button when data modified */ + connect(mapper, SIGNAL(viewModified()), this, SLOT(enableApplyButton())); + /* disable apply button when new data loaded */ + connect(mapper, SIGNAL(currentIndexChanged(int)), this, SLOT(disableApplyButton())); /* setup/change UI elements when proxy IP is invalid/valid */ connect(this, SIGNAL(proxyIpValid(QValidatedLineEdit *, bool)), this, SLOT(handleProxyIpValid(QValidatedLineEdit *, bool))); } @@ -116,8 +116,11 @@ void OptionsDialog::setModel(OptionsModel *model) /* update the display unit, to not use the default ("BTC") */ updateDisplayUnit(); - /* warn only when language selection changes (placed here so init of ui->lang via mapper doesn't trigger this) */ + /* warn only when language selection changes by user action (placed here so init via mapper doesn't trigger this) */ connect(ui->lang, SIGNAL(valueChanged()), this, SLOT(showRestartWarning_Lang())); + + /* disable apply button after settings are loaded as there is nothing to save */ + disableApplyButton(); } void OptionsDialog::setMapper() @@ -147,6 +150,16 @@ void OptionsDialog::setMapper() mapper->addMapping(ui->displayAddresses, OptionsModel::DisplayAddresses); } +void OptionsDialog::enableApplyButton() +{ + ui->applyButton->setEnabled(true); +} + +void OptionsDialog::disableApplyButton() +{ + ui->applyButton->setEnabled(false); +} + void OptionsDialog::enableSaveButtons() { /* prevent enabling of the save buttons when data modified, if there is an invalid proxy address present */ @@ -179,7 +192,7 @@ void OptionsDialog::on_cancelButton_clicked() void OptionsDialog::on_applyButton_clicked() { mapper->submit(); - ui->applyButton->setEnabled(false); + disableApplyButton(); } void OptionsDialog::showRestartWarning_Proxy() diff --git a/src/qt/optionsdialog.h b/src/qt/optionsdialog.h index 9e91000b6..18469f509 100644 --- a/src/qt/optionsdialog.h +++ b/src/qt/optionsdialog.h @@ -26,6 +26,10 @@ protected: bool eventFilter(QObject *object, QEvent *event); private slots: + /* enable only apply button */ + void enableApplyButton(); + /* disable only apply button */ + void disableApplyButton(); /* enable apply button and OK button */ void enableSaveButtons(); /* disable apply button and OK button */