From 0d72bf131fb41b68dd2ea824cf8fb2430670974f Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Fri, 14 Aug 2026 22:59:49 -0400 Subject: [PATCH] feat(ServerConfigDialog): enable reset option --- src/lib/gui/dialogs/ServerConfigDialog.cpp | 17 ++++++++++++++++- src/lib/gui/dialogs/ServerConfigDialog.h | 1 + 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/lib/gui/dialogs/ServerConfigDialog.cpp b/src/lib/gui/dialogs/ServerConfigDialog.cpp index e7acf3aef..f1ba95edd 100644 --- a/src/lib/gui/dialogs/ServerConfigDialog.cpp +++ b/src/lib/gui/dialogs/ServerConfigDialog.cpp @@ -39,9 +39,9 @@ ServerConfigDialog::ServerConfigDialog(QWidget *parent, ServerConfig &config) ui->tabWidget->setCurrentIndex(0); layout()->addWidget(m_buttonBox); - m_buttonBox->enableReset(false); m_buttonBox->enableRestoreDefaults(false); + setOriginalServerConfig(serverConfig()); loadFromConfig(); ui->lblRemoveScreen->setPixmap(QIcon::fromTheme("user-trash").pixmap(QSize(64, 64))); @@ -457,10 +457,23 @@ void ServerConfigDialog::loadFromConfig() updateControls(); } +void ServerConfigDialog::resetFromSettings() +{ + m_serverConfig = m_originalServerConfig; + m_serverConfig.setConfigFile(m_originalServerConfigUsesExternalFile); + m_serverConfig.setUseExternalConfig(m_originalServerConfigIsExternal); + loadFromConfig(); + if (ui->tabWidget->currentWidget() == ui->tabComputers) { + ui->screenSetupView->reset(); + ui->screenSetupView->update(); + } +} + void ServerConfigDialog::initConnections() const { connect(m_buttonBox, &SettingsDialogButtonBox::accepted, this, &ServerConfigDialog::save); connect(m_buttonBox, &SettingsDialogButtonBox::rejected, this, &ServerConfigDialog::cancel); + connect(m_buttonBox, &SettingsDialogButtonBox::reset, this, &ServerConfigDialog::resetFromSettings); connect(ui->lblRemoveScreen, &TrashScreenWidget::screenRemoved, this, &ServerConfigDialog::onScreenRemoved); connect(ui->btnNewHotkey, &QPushButton::clicked, this, &ServerConfigDialog::addHotkey); connect(ui->btnEditHotkey, &QPushButton::clicked, this, &ServerConfigDialog::editHotkey); @@ -527,6 +540,7 @@ void ServerConfigDialog::updateControls() const ui->sbSwitchDoubleTap->setEnabled(writable && ui->cbSwitchDoubleTap->isChecked()); ui->sbSwitchDelay->setEnabled(writable && ui->cbSwitchDelay->isChecked()); ui->groupExternalConfig->setEnabled(writable); + setButtonBoxEnabledButtons(); } bool ServerConfigDialog::addComputer(const QString &clientName, bool doSilent) @@ -566,4 +580,5 @@ void ServerConfigDialog::setButtonBoxEnabledButtons() const { const bool writable = Settings::isWritable(); m_buttonBox->enableSave(writable && (isGeneralConfigModified() || !(m_originalServerConfig == m_serverConfig))); + m_buttonBox->enableReset(writable && (isGeneralConfigModified() || !(m_originalServerConfig == m_serverConfig))); } diff --git a/src/lib/gui/dialogs/ServerConfigDialog.h b/src/lib/gui/dialogs/ServerConfigDialog.h index 4b62127f5..575fbf64d 100644 --- a/src/lib/gui/dialogs/ServerConfigDialog.h +++ b/src/lib/gui/dialogs/ServerConfigDialog.h @@ -88,6 +88,7 @@ private: void save(); void cancel(); void loadFromConfig(); + void resetFromSettings(); void initConnections() const; void updateControls() const; bool isGeneralConfigModified() const;