refactor: SettingsDialog, add reset to default button
This commit is contained in:
parent
58963de10f
commit
208556b5aa
9 changed files with 105 additions and 1 deletions
|
|
@ -85,6 +85,10 @@ void SettingsDialog::initConnections() const
|
|||
connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &SettingsDialog::accept);
|
||||
connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);
|
||||
connect(ui->buttonBox->button(QDialogButtonBox::Reset), &QPushButton::clicked, this, &SettingsDialog::loadFromConfig);
|
||||
connect(
|
||||
ui->buttonBox->button(QDialogButtonBox::RestoreDefaults), &QPushButton::clicked, this,
|
||||
&SettingsDialog::resetToDefault
|
||||
);
|
||||
|
||||
connect(ui->groupSecurity, &QGroupBox::toggled, this, &SettingsDialog::updateTlsControlsEnabled);
|
||||
connect(ui->groupService, &QGroupBox::toggled, this, &SettingsDialog::updateControls);
|
||||
|
|
@ -191,6 +195,7 @@ void SettingsDialog::updateText()
|
|||
ui->buttonBox->button(QDialogButtonBox::Save)->setToolTip(tr("Close and save changes"));
|
||||
ui->buttonBox->button(QDialogButtonBox::Cancel)->setToolTip(tr("Close and forget changes"));
|
||||
ui->buttonBox->button(QDialogButtonBox::Reset)->setToolTip(tr("Reset to stored values"));
|
||||
ui->buttonBox->button(QDialogButtonBox::RestoreDefaults)->setToolTip(tr("Reset to default values"));
|
||||
}
|
||||
|
||||
void SettingsDialog::accept()
|
||||
|
|
@ -397,11 +402,75 @@ bool SettingsDialog::isModified() const
|
|||
);
|
||||
}
|
||||
|
||||
bool SettingsDialog::isDefault() const
|
||||
{
|
||||
const auto processMode = Settings::defaultValue(Settings::Core::ProcessMode).value<Settings::ProcessMode>();
|
||||
|
||||
return (
|
||||
(ui->sbPort->value() == Settings::defaultValue(Settings::Core::Port).toInt()) &&
|
||||
(ui->comboLogLevel->currentIndex() == Settings::defaultValue(Settings::Log::Level).toInt()) &&
|
||||
(ui->cbLogToFile->isChecked() == Settings::defaultValue(Settings::Log::ToFile).toBool()) &&
|
||||
(ui->lineLogFilename->text() == Settings::defaultValue(Settings::Log::File).toString()) &&
|
||||
(ui->cbAutoHide->isChecked() == Settings::defaultValue(Settings::Gui::Autohide).toBool()) &&
|
||||
(ui->cbPreventSleep->isChecked() == Settings::defaultValue(Settings::Core::PreventSleep).toBool()) &&
|
||||
(ui->cbCloseToTray->isChecked() == Settings::defaultValue(Settings::Gui::CloseToTray).toBool()) &&
|
||||
(ui->cbElevateDaemon->isChecked() == Settings::defaultValue(Settings::Daemon::Elevate).toBool()) &&
|
||||
(ui->cbAutoUpdate->isChecked() == Settings::defaultValue(Settings::Gui::AutoUpdateCheck).toBool()) &&
|
||||
(ui->cbGuiDebug->isChecked() == Settings::defaultValue(Settings::Log::GuiDebug).toBool()) &&
|
||||
(ui->cbUseWlClipboard->isChecked() == Settings::defaultValue(Settings::Core::UseWlClipboard).toBool()) &&
|
||||
(ui->cbShowVersion->isChecked() == Settings::defaultValue(Settings::Gui::ShowVersionInTitle).toBool()) &&
|
||||
(ui->rbIconMono->isChecked() == Settings::defaultValue(Settings::Gui::SymbolicTrayIcon).toBool()) &&
|
||||
(ui->groupService->isChecked() == (processMode == Settings::ProcessMode::Service)) &&
|
||||
(ui->comboInterface->currentIndex() == 0) &&
|
||||
(ui->lineTlsCertPath->text() == Settings::defaultValue(Settings::Security::Certificate).toString()) &&
|
||||
(ui->comboTlsKeyLength->currentText() == Settings::defaultValue(Settings::Security::KeySize).toString()) &&
|
||||
(ui->groupSecurity->isChecked() == Settings::defaultValue(Settings::Security::TlsEnabled).toBool()) &&
|
||||
(ui->cbRequireClientCert->isChecked() == Settings::defaultValue(Settings::Security::CheckPeers).toBool()) &&
|
||||
(ui->comboLanguage->currentText() == "English")
|
||||
);
|
||||
}
|
||||
|
||||
void SettingsDialog::resetToDefault()
|
||||
{
|
||||
ui->sbPort->setValue(Settings::defaultValue(Settings::Core::Port).toInt());
|
||||
ui->comboLogLevel->setCurrentIndex(Settings::defaultValue(Settings::Log::Level).toInt());
|
||||
ui->cbLogToFile->setChecked(Settings::defaultValue(Settings::Log::ToFile).toBool());
|
||||
ui->lineLogFilename->setText(Settings::defaultValue(Settings::Log::File).toString());
|
||||
ui->cbAutoHide->setChecked(Settings::defaultValue(Settings::Gui::Autohide).toBool());
|
||||
ui->cbPreventSleep->setChecked(Settings::defaultValue(Settings::Core::PreventSleep).toBool());
|
||||
ui->cbCloseToTray->setChecked(Settings::defaultValue(Settings::Gui::CloseToTray).toBool());
|
||||
ui->cbElevateDaemon->setChecked(Settings::defaultValue(Settings::Daemon::Elevate).toBool());
|
||||
ui->cbAutoUpdate->setChecked(Settings::defaultValue(Settings::Gui::AutoUpdateCheck).toBool());
|
||||
ui->cbGuiDebug->setChecked(Settings::defaultValue(Settings::Log::GuiDebug).toBool());
|
||||
ui->cbUseWlClipboard->setChecked(Settings::defaultValue(Settings::Core::UseWlClipboard).toBool());
|
||||
ui->cbShowVersion->setChecked(Settings::defaultValue(Settings::Gui::ShowVersionInTitle).toBool());
|
||||
|
||||
const auto processMode = Settings::defaultValue(Settings::Core::ProcessMode).value<Settings::ProcessMode>();
|
||||
ui->groupService->setChecked(processMode == Settings::ProcessMode::Service);
|
||||
|
||||
if (!deskflow::platform::isWindows())
|
||||
ui->groupService->setVisible(false);
|
||||
|
||||
if (Settings::defaultValue(Settings::Gui::SymbolicTrayIcon).toBool())
|
||||
ui->rbIconMono->setChecked(true);
|
||||
else
|
||||
ui->rbIconColorful->setChecked(true);
|
||||
|
||||
ui->lblDebugWarning->setVisible(false);
|
||||
|
||||
ui->comboInterface->setCurrentIndex(0);
|
||||
|
||||
qDebug() << "reset to default values";
|
||||
updateControls();
|
||||
setButtonBoxEnabledButtons();
|
||||
}
|
||||
|
||||
void SettingsDialog::setButtonBoxEnabledButtons() const
|
||||
{
|
||||
const bool modified = isModified();
|
||||
ui->buttonBox->button(QDialogButtonBox::Save)->setEnabled(modified);
|
||||
ui->buttonBox->button(QDialogButtonBox::Reset)->setEnabled(modified);
|
||||
ui->buttonBox->button(QDialogButtonBox::RestoreDefaults)->setEnabled(!isDefault());
|
||||
}
|
||||
|
||||
SettingsDialog::~SettingsDialog() = default;
|
||||
|
|
|
|||
|
|
@ -67,6 +67,17 @@ private:
|
|||
*/
|
||||
bool isModified() const;
|
||||
|
||||
/**
|
||||
* @brief isDefault
|
||||
* @return true if all client settings match the default values
|
||||
*/
|
||||
bool isDefault() const;
|
||||
|
||||
/**
|
||||
* @brief Set the gui values to the defalut values for all client settings
|
||||
*/
|
||||
void resetToDefault();
|
||||
|
||||
/**
|
||||
* @brief setButtonBoxEnabledButtons
|
||||
* Enable / Disable the button box buttons based on the state of the gui
|
||||
|
|
|
|||
|
|
@ -711,7 +711,7 @@
|
|||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Reset|QDialogButtonBox::StandardButton::Save</set>
|
||||
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Reset|QDialogButtonBox::StandardButton::RestoreDefaults|QDialogButtonBox::StandardButton::Save</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
|
|||
|
|
@ -1327,6 +1327,10 @@ Al habilitar esta opción, se deshabilitará la interfaz gráfica de usuario (GU
|
|||
<source>Reset to stored values</source>
|
||||
<translation type="unfinished">Restablecer los valores almacenados</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to default values</source>
|
||||
<translation type="unfinished">Restablecer valores predeterminados</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TLS Certificate Regenerated</source>
|
||||
<translation type="unfinished">Certificado TLS regenerado</translation>
|
||||
|
|
|
|||
|
|
@ -1327,6 +1327,10 @@ L'abilitazione di questa impostazione disabiliterà l'interfaccia graf
|
|||
<source>Reset to stored values</source>
|
||||
<translation type="unfinished">Ripristina i valori memorizzati</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to default values</source>
|
||||
<translation type="unfinished">Ripristina i valori predefiniti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TLS Certificate Regenerated</source>
|
||||
<translation>Certificato TLS rigenerato</translation>
|
||||
|
|
|
|||
|
|
@ -1356,6 +1356,10 @@ Enabling this setting will disable the server config GUI.</source>
|
|||
<source>Reset to stored values</source>
|
||||
<translation>変更前の値にリセットする</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to default values</source>
|
||||
<translation>デフォルト値にリセットする</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable wl-clipboard support</source>
|
||||
<translation>wl-clipboard によるクリップボード対応を有効にする</translation>
|
||||
|
|
|
|||
|
|
@ -1354,6 +1354,10 @@ Enabling this setting will disable the server config GUI.</source>
|
|||
<source>Reset to stored values</source>
|
||||
<translation type="unfinished">저장된 값으로 재설정</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to default values</source>
|
||||
<translation type="unfinished">기본값으로 재설정</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable wl-clipboard support</source>
|
||||
<translation>wl-clipboard 지원 사용</translation>
|
||||
|
|
|
|||
|
|
@ -1358,6 +1358,10 @@ Enabling this setting will disable the server config GUI.</source>
|
|||
<source>Reset to stored values</source>
|
||||
<translation type="unfinished">Сбросить до сохраненных значений</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to default values</source>
|
||||
<translation type="unfinished">Сбросить до значений по умолчанию</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><html><head/><body><p>Requires the wl-clipboard package</p><p>When using wl-clipboard v2.2.1, there is a focus stealing bug that may make Deskflow harder to use. This has been fixed when using the wl-clipboard master branch, unless your Compositor lacks wlroots-data-control protocol support.</p></body></html></source>
|
||||
<translation><html><head/><body><p>Требуется пакет wl-clipboard. В версии 2.2.1 есть ошибка перехвата фокуса.</p></body></html></translation>
|
||||
|
|
|
|||
|
|
@ -1356,6 +1356,10 @@ Enabling this setting will disable the server config GUI.</source>
|
|||
<source>Reset to stored values</source>
|
||||
<translation type="unfinished">重置为存储值</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to default values</source>
|
||||
<translation type="unfinished">重置为默认值</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable wl-clipboard support</source>
|
||||
<translation>启用 wl-clipboard 支持</translation>
|
||||
|
|
|
|||
Loading…
Reference in a new issue