refactor(Settings): add helper method to get network protocol as NetworkProtocol directly

This commit is contained in:
sithlord48 2026-06-08 22:14:54 -04:00 committed by Nick Bolton
parent b91a39492f
commit 516f24a0ba
5 changed files with 17 additions and 11 deletions

View file

@ -208,7 +208,7 @@ QVariant Settings::defaultValue(const QString &key)
return 1.0;
if (key == Server::Protocol)
return QVariant::fromValue(NetworkProtocol::Barrier);
return networkProtocolToOption(NetworkProtocol::Barrier);
if (key == Server::GridWidth)
return kServerGridWidth;
@ -224,6 +224,11 @@ QSettingsProxy &Settings::proxy()
return *instance()->m_settingsProxy;
}
NetworkProtocol Settings::networkProtocol()
{
return networkProtocolFromString(Settings::value(Server::Protocol).toString());
}
void Settings::save(bool emitSaving)
{
if (emitSaving)

View file

@ -12,6 +12,7 @@
#include <QDir>
#include "common/Constants.h"
#include "common/NetworkProtocol.h"
#include "common/QSettingsProxy.h"
class Settings : public QObject
@ -151,6 +152,7 @@ public:
static QString tlsTrustedClientsDb();
static QString logLevelText();
static QSettingsProxy &proxy();
static NetworkProtocol networkProtocol();
static void save(bool emitSaving = true);
static QStringList validKeys();
static QString portableSettingsFile();

View file

@ -35,7 +35,7 @@ ServerConfigDialog::ServerConfigDialog(QWidget *parent, ServerConfig &config)
{
ui->setupUi(this);
m_originalProtocol = Settings::value(Settings::Server::Protocol).value<NetworkProtocol>();
m_protocol = Settings::networkProtocol();
connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &ServerConfigDialog::accept);
connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &ServerConfigDialog::reject);
@ -70,7 +70,7 @@ ServerConfigDialog::ServerConfigDialog(QWidget *parent, ServerConfig &config)
ui->btnBrowseConfigFile->setIcon(QIcon::fromTheme(QIcon::ThemeIcon::DocumentOpen));
ui->lineConfigFile->setText(serverConfig().configFile());
const auto networkProtocol = networkProtocolFromString(Settings::value(Settings::Server::Protocol).toString());
const auto networkProtocol = Settings::networkProtocol();
ui->rbProtocolSynergy->setChecked(networkProtocol == NetworkProtocol::Synergy);
ui->rbProtocolBarrier->setChecked(networkProtocol == NetworkProtocol::Barrier);
connect(ui->rbProtocolBarrier, &QRadioButton::toggled, this, &ServerConfigDialog::toggleProtocol);
@ -201,6 +201,7 @@ void ServerConfigDialog::accept()
// now that the dialog has been accepted, copy the new server config to the
// original one, which is a reference to the one in MainWindow.
setOriginalServerConfig(serverConfig());
Settings::setValue(Settings::Server::Protocol, networkProtocolToOption(m_protocol));
QDialog::accept();
}
@ -368,8 +369,7 @@ void ServerConfigDialog::toggleRelativeMouseMoves(bool enabled)
void ServerConfigDialog::toggleProtocol()
{
auto proto = ui->rbProtocolBarrier->isChecked() ? NetworkProtocol::Barrier : NetworkProtocol::Synergy;
Settings::setValue(Settings::Server::Protocol, networkProtocolToOption(proto));
m_protocol = ui->rbProtocolBarrier->isChecked() ? NetworkProtocol::Barrier : NetworkProtocol::Synergy;
onChange();
}
@ -511,10 +511,9 @@ bool ServerConfigDialog::addComputer(const QString &clientName, bool doSilent)
void ServerConfigDialog::onChange()
{
bool isAppConfigDataEqual =
m_originalServerConfigIsExternal == serverConfig().useExternalConfig() &&
m_originalServerConfigUsesExternalFile == serverConfig().configFile() &&
m_originalProtocol == Settings::value(Settings::Server::Protocol).value<NetworkProtocol>();
bool isAppConfigDataEqual = m_originalServerConfigIsExternal == serverConfig().useExternalConfig() &&
m_originalServerConfigUsesExternalFile == serverConfig().configFile() &&
m_protocol == Settings::networkProtocol();
ui->buttonBox->button(QDialogButtonBox::Ok)
->setEnabled(!isAppConfigDataEqual || !(m_originalServerConfig == m_serverConfig));
}

View file

@ -101,7 +101,7 @@ private:
int m_columns;
int m_rows;
ServerConfig &m_originalServerConfig;
NetworkProtocol m_originalProtocol;
NetworkProtocol m_protocol;
bool m_originalServerConfigIsExternal;
QString m_originalServerConfigUsesExternalFile;
ServerConfig m_serverConfig;

View file

@ -1130,7 +1130,7 @@ void Server::processOptions()
stopRelativeMoves();
}
m_relativeMoves = newRelativeMoves;
m_protocol = networkProtocolFromString(Settings::value(Settings::Server::Protocol).toString());
m_protocol = Settings::networkProtocol();
}
void Server::handleShapeChanged(BaseClientProxy *client)