diff --git a/src/qt/forms/optionsdialog.ui b/src/qt/forms/optionsdialog.ui
index 270b7ae9ef..1b81b0cdc8 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 6bb7eaec2e..f8d1fe56fb 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 9e91000b63..18469f509d 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 */