fix: Settings dialog blocking return to Automatic
fixes:# 9501
This commit is contained in:
parent
bde89d4026
commit
263a23fcaa
2 changed files with 14 additions and 6 deletions
|
|
@ -264,10 +264,15 @@ void SettingsDialog::loadFromConfig()
|
||||||
ui->lblDebugWarning->setVisible(Settings::value(Settings::Log::Level).toInt() > 4);
|
ui->lblDebugWarning->setVisible(Settings::value(Settings::Log::Level).toInt() > 4);
|
||||||
|
|
||||||
ui->comboInterface->setCurrentText(Settings::value(Settings::Core::Interface).toString());
|
ui->comboInterface->setCurrentText(Settings::value(Settings::Core::Interface).toString());
|
||||||
if (ui->comboInterface->currentIndex() < 0)
|
if (ui->comboInterface->currentIndex() <= 0) {
|
||||||
ui->comboInterface->setCurrentIndex(0);
|
ui->comboInterface->setCurrentIndex(0);
|
||||||
|
m_interfaceSetOnLoad = false;
|
||||||
|
} else {
|
||||||
|
m_interfaceSetOnLoad = true;
|
||||||
|
}
|
||||||
|
|
||||||
qDebug() << "load from config done";
|
qDebug() << "load from config done";
|
||||||
|
|
||||||
updateControls();
|
updateControls();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -381,9 +386,9 @@ void SettingsDialog::logLevelChanged()
|
||||||
bool SettingsDialog::isModified() const
|
bool SettingsDialog::isModified() const
|
||||||
{
|
{
|
||||||
const auto processMode = Settings::value(Settings::Core::ProcessMode).value<Settings::ProcessMode>();
|
const auto processMode = Settings::value(Settings::Core::ProcessMode).value<Settings::ProcessMode>();
|
||||||
const auto interfaceSet = ui->comboInterface->currentIndex();
|
const bool ignoreInterface = !m_interfaceSetOnLoad && (ui->comboInterface->currentIndex() == 0);
|
||||||
|
|
||||||
return (
|
bool modified =
|
||||||
(ui->sbPort->value() != Settings::value(Settings::Core::Port).toInt()) ||
|
(ui->sbPort->value() != Settings::value(Settings::Core::Port).toInt()) ||
|
||||||
(ui->comboLogLevel->currentIndex() != Settings::value(Settings::Log::Level).toInt()) ||
|
(ui->comboLogLevel->currentIndex() != Settings::value(Settings::Log::Level).toInt()) ||
|
||||||
(ui->groupLogToFile->isChecked() != Settings::value(Settings::Log::ToFile).toBool()) ||
|
(ui->groupLogToFile->isChecked() != Settings::value(Settings::Log::ToFile).toBool()) ||
|
||||||
|
|
@ -398,13 +403,15 @@ bool SettingsDialog::isModified() const
|
||||||
(ui->cbShowVersion->isChecked() != Settings::value(Settings::Gui::ShowVersionInTitle).toBool()) ||
|
(ui->cbShowVersion->isChecked() != Settings::value(Settings::Gui::ShowVersionInTitle).toBool()) ||
|
||||||
(ui->rbIconMono->isChecked() != Settings::value(Settings::Gui::SymbolicTrayIcon).toBool()) ||
|
(ui->rbIconMono->isChecked() != Settings::value(Settings::Gui::SymbolicTrayIcon).toBool()) ||
|
||||||
(ui->groupService->isChecked() != (processMode == Settings::ProcessMode::Service)) ||
|
(ui->groupService->isChecked() != (processMode == Settings::ProcessMode::Service)) ||
|
||||||
((ui->comboInterface->currentText() != Settings::value(Settings::Core::Interface).toString()) && interfaceSet) ||
|
|
||||||
(ui->lineTlsCertPath->text() != Settings::value(Settings::Security::Certificate).toString()) ||
|
(ui->lineTlsCertPath->text() != Settings::value(Settings::Security::Certificate).toString()) ||
|
||||||
(ui->comboTlsKeyLength->currentText() != Settings::value(Settings::Security::KeySize).toString()) ||
|
(ui->comboTlsKeyLength->currentText() != Settings::value(Settings::Security::KeySize).toString()) ||
|
||||||
(ui->groupSecurity->isChecked() != Settings::value(Settings::Security::TlsEnabled).toBool()) ||
|
(ui->groupSecurity->isChecked() != Settings::value(Settings::Security::TlsEnabled).toBool()) ||
|
||||||
(ui->cbRequireClientCert->isChecked() != Settings::value(Settings::Security::CheckPeers).toBool()) ||
|
(ui->cbRequireClientCert->isChecked() != Settings::value(Settings::Security::CheckPeers).toBool()) ||
|
||||||
(I18N::nativeTo639Name(ui->comboLanguage->currentText()) != Settings::value(Settings::Core::Language).toString())
|
(I18N::nativeTo639Name(ui->comboLanguage->currentText()) != Settings::value(Settings::Core::Language).toString());
|
||||||
);
|
|
||||||
|
if (!ignoreInterface)
|
||||||
|
modified = modified || ui->comboInterface->currentText() != Settings::value(Settings::Core::Interface).toString();
|
||||||
|
return modified;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SettingsDialog::isDefault() const
|
bool SettingsDialog::isDefault() const
|
||||||
|
|
|
||||||
|
|
@ -84,6 +84,7 @@ private:
|
||||||
*/
|
*/
|
||||||
void setButtonBoxEnabledButtons() const;
|
void setButtonBoxEnabledButtons() const;
|
||||||
|
|
||||||
|
bool m_interfaceSetOnLoad = false;
|
||||||
std::unique_ptr<Ui::SettingsDialog> ui;
|
std::unique_ptr<Ui::SettingsDialog> ui;
|
||||||
const IServerConfig &m_serverConfig;
|
const IServerConfig &m_serverConfig;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue