refactor: move hasHeartbeat to general settings

This commit is contained in:
sithlord48 2026-06-10 21:54:33 -04:00 committed by Nick Bolton
parent c66c356665
commit d665b55111
6 changed files with 15 additions and 18 deletions

View file

@ -142,6 +142,7 @@ This section contains options used when in server mode it will begin with `[serv
|Option | Valid Values |Description| |Option | Valid Values |Description|
|:-------------------|:-----------------:|:-----------| |:-------------------|:-----------------:|:-----------|
| enableHeartbeat | `true` or `false` | Send a heartbeat to connected clients; this has been replaced by internal keep alive (default: false)|
| externalConfig | `true` or `false` | When true use the external config path | | externalConfig | `true` or `false` | When true use the external config path |
| externalConfigFile | Filepath | Path the server config file if it does not exist the GUI will it generated based on the `internalConfig` section.| | externalConfigFile | Filepath | Path the server config file if it does not exist the GUI will it generated based on the `internalConfig` section.|
| gridHeight | int | Height of the server's intenal grid used for the computer layout (default: 3)| | gridHeight | int | Height of the server's intenal grid used for the computer layout (default: 3)|
@ -160,7 +161,6 @@ clipboardSharing=true
clipboardSharingSize=@Variant(\0\0\0\x84\0\0\0\0\0\0<\0) clipboardSharingSize=@Variant(\0\0\0\x84\0\0\0\0\0\0<\0)
defaultLockToScreenState=false defaultLockToScreenState=false
disableLockToScreen=false disableLockToScreen=false
hasHeartbeat=false
hasSwitchDelay=false hasSwitchDelay=false
hasSwitchDoubleTap=false hasSwitchDoubleTap=false
heartbeat=5000 heartbeat=5000

View file

@ -104,6 +104,7 @@ public:
}; };
struct Server struct Server
{ {
inline static const auto EnableHeatbeat = QStringLiteral("server/enableHeatbeat");
inline static const auto ExternalConfig = QStringLiteral("server/externalConfig"); inline static const auto ExternalConfig = QStringLiteral("server/externalConfig");
inline static const auto ExternalConfigFile = QStringLiteral("server/externalConfigFile"); inline static const auto ExternalConfigFile = QStringLiteral("server/externalConfigFile");
inline static const auto GridHeight = QStringLiteral("server/gridHeight"); inline static const auto GridHeight = QStringLiteral("server/gridHeight");
@ -243,6 +244,7 @@ private:
, Settings::Security::CheckPeers , Settings::Security::CheckPeers
, Settings::Security::KeySize , Settings::Security::KeySize
, Settings::Security::TlsEnabled , Settings::Security::TlsEnabled
, Settings::Server::EnableHeatbeat
, Settings::Server::ExternalConfig , Settings::Server::ExternalConfig
, Settings::Server::ExternalConfigFile , Settings::Server::ExternalConfigFile
, Settings::Server::GridHeight , Settings::Server::GridHeight
@ -261,6 +263,7 @@ private:
, Settings::Gui::IgnoreMissingKeyboardLayouts , Settings::Gui::IgnoreMissingKeyboardLayouts
, Settings::Core::PreventSleep , Settings::Core::PreventSleep
, Settings::Core::UseWlClipboard , Settings::Core::UseWlClipboard
, Settings::Server::EnableHeatbeat
, Settings::Core::EnableEnterCommand , Settings::Core::EnableEnterCommand
, Settings::Core::EnableExitCommand , Settings::Core::EnableExitCommand
, Settings::Client::DynamicConnectionRetry , Settings::Client::DynamicConnectionRetry
@ -293,7 +296,8 @@ private:
}; };
// Contains settings removed from server-configuration file // Contains settings removed from server-configuration file
inline static const QStringList m_oldServerConfigKeys = { inline static const QStringList m_oldServerConfigKeys = {
QStringLiteral("internalConfig/protocol") QStringLiteral("internalConfig/hasHeartbeat")
, QStringLiteral("internalConfig/protocol")
, QStringLiteral("internalConfig/numColumns") , QStringLiteral("internalConfig/numColumns")
, QStringLiteral("internalConfig/numRows") , QStringLiteral("internalConfig/numRows")
}; };

View file

@ -53,7 +53,6 @@ bool ServerConfig::save(const QString &fileName) const
bool ServerConfig::operator==(const ServerConfig &sc) const bool ServerConfig::operator==(const ServerConfig &sc) const
{ {
return m_Screens == sc.m_Screens && // return m_Screens == sc.m_Screens && //
m_HasHeartbeat == sc.m_HasHeartbeat && //
m_Heartbeat == sc.m_Heartbeat && // m_Heartbeat == sc.m_Heartbeat && //
m_RelativeMouseMoves == sc.m_RelativeMouseMoves && // m_RelativeMouseMoves == sc.m_RelativeMouseMoves && //
m_Win32KeepForeground == sc.m_Win32KeepForeground && // m_Win32KeepForeground == sc.m_Win32KeepForeground && //
@ -99,7 +98,6 @@ void ServerConfig::commit()
settings().beginGroup("internalConfig"); settings().beginGroup("internalConfig");
settings().remove(""); settings().remove("");
settings().setValue("hasHeartbeat", hasHeartbeat());
settings().setValue("heartbeat", heartbeat()); settings().setValue("heartbeat", heartbeat());
settings().setValue("relativeMouseMoves", relativeMouseMoves()); settings().setValue("relativeMouseMoves", relativeMouseMoves());
settings().setValue("win32KeepForeground", win32KeepForeground()); settings().setValue("win32KeepForeground", win32KeepForeground());
@ -150,7 +148,6 @@ void ServerConfig::recall()
// ourselves // ourselves
setupScreens(); setupScreens();
haveHeartbeat(settings().value("hasHeartbeat", false).toBool());
setHeartbeat(settings().value("heartbeat", 5000).toInt()); setHeartbeat(settings().value("heartbeat", 5000).toInt());
setRelativeMouseMoves(settings().value("relativeMouseMoves", false).toBool()); setRelativeMouseMoves(settings().value("relativeMouseMoves", false).toBool());
setWin32KeepForeground(settings().value("win32KeepForeground", false).toBool()); setWin32KeepForeground(settings().value("win32KeepForeground", false).toBool());
@ -247,7 +244,7 @@ QTextStream &operator<<(QTextStream &outStream, const ServerConfig &config)
outStream << "section: options" << Qt::endl; outStream << "section: options" << Qt::endl;
if (config.hasHeartbeat()) if (Settings::value(Settings::Server::EnableHeatbeat).toBool())
outStream << "\t" << "heartbeat = " << config.heartbeat() << Qt::endl; outStream << "\t" << "heartbeat = " << config.heartbeat() << Qt::endl;
outStream << "\t" outStream << "\t"

View file

@ -40,10 +40,6 @@ public:
// //
// New methods // New methods
// //
bool hasHeartbeat() const
{
return m_HasHeartbeat;
}
int heartbeat() const int heartbeat() const
{ {
return m_Heartbeat; return m_Heartbeat;
@ -134,10 +130,6 @@ private:
{ {
m_Screens.append(screen); m_Screens.append(screen);
} }
void haveHeartbeat(bool on)
{
m_HasHeartbeat = on;
}
void setHeartbeat(int val) void setHeartbeat(int val)
{ {
m_Heartbeat = val; m_Heartbeat = val;
@ -202,7 +194,6 @@ private:
bool fixNoServer(const QString &name, int &index); bool fixNoServer(const QString &name, int &index);
private: private:
bool m_HasHeartbeat = false;
int m_Heartbeat = 0; int m_Heartbeat = 0;
bool m_RelativeMouseMoves = false; bool m_RelativeMouseMoves = false;
bool m_Win32KeepForeground = false; bool m_Win32KeepForeground = false;

View file

@ -76,6 +76,7 @@ void ServerConfigDialog::accept()
// original one, which is a reference to the one in MainWindow. // original one, which is a reference to the one in MainWindow.
setOriginalServerConfig(serverConfig()); setOriginalServerConfig(serverConfig());
Settings::setValue(Settings::Server::Protocol, networkProtocolToOption(m_protocol)); Settings::setValue(Settings::Server::Protocol, networkProtocolToOption(m_protocol));
Settings::setValue(Settings::Server::EnableHeatbeat, m_enableHeartbeat);
QDialog::accept(); QDialog::accept();
} }
@ -224,8 +225,8 @@ void ServerConfigDialog::setClipboardLimit(int limit)
void ServerConfigDialog::toggleHeartbeat(bool enabled) void ServerConfigDialog::toggleHeartbeat(bool enabled)
{ {
m_enableHeartbeat = enabled;
ui->sbHeartbeat->setEnabled(enabled); ui->sbHeartbeat->setEnabled(enabled);
serverConfig().haveHeartbeat(enabled);
onChange(); onChange();
} }
@ -378,7 +379,9 @@ void ServerConfigDialog::loadFromConfig()
ui->rbProtocolBarrier->setChecked(m_protocol == NetworkProtocol::Barrier); ui->rbProtocolBarrier->setChecked(m_protocol == NetworkProtocol::Barrier);
ui->lineConfigFile->setText(serverConfig().configFile()); ui->lineConfigFile->setText(serverConfig().configFile());
ui->cbHeartbeat->setChecked(serverConfig().hasHeartbeat());
m_enableHeartbeat = Settings::value(Settings::Server::EnableHeatbeat).toBool();
ui->cbHeartbeat->setChecked(m_enableHeartbeat);
ui->sbHeartbeat->setEnabled(ui->cbHeartbeat->isChecked()); ui->sbHeartbeat->setEnabled(ui->cbHeartbeat->isChecked());
ui->sbHeartbeat->setValue(serverConfig().heartbeat()); ui->sbHeartbeat->setValue(serverConfig().heartbeat());
ui->cbRelativeMouseMoves->setChecked(serverConfig().relativeMouseMoves()); ui->cbRelativeMouseMoves->setChecked(serverConfig().relativeMouseMoves());
@ -503,7 +506,8 @@ void ServerConfigDialog::onChange()
{ {
bool isAppConfigDataEqual = m_originalServerConfigIsExternal == serverConfig().useExternalConfig() && bool isAppConfigDataEqual = m_originalServerConfigIsExternal == serverConfig().useExternalConfig() &&
m_originalServerConfigUsesExternalFile == serverConfig().configFile() && m_originalServerConfigUsesExternalFile == serverConfig().configFile() &&
m_protocol == Settings::networkProtocol(); m_protocol == Settings::networkProtocol() &&
m_enableHeartbeat == Settings::value(Settings::Server::EnableHeatbeat).toBool();
ui->buttonBox->button(QDialogButtonBox::Ok) ui->buttonBox->button(QDialogButtonBox::Ok)
->setEnabled(!isAppConfigDataEqual || !(m_originalServerConfig == m_serverConfig)); ->setEnabled(!isAppConfigDataEqual || !(m_originalServerConfig == m_serverConfig));
} }

View file

@ -104,6 +104,7 @@ private:
int m_rows; int m_rows;
ServerConfig &m_originalServerConfig; ServerConfig &m_originalServerConfig;
NetworkProtocol m_protocol; NetworkProtocol m_protocol;
bool m_enableHeartbeat;
bool m_originalServerConfigIsExternal; bool m_originalServerConfigIsExternal;
QString m_originalServerConfigUsesExternalFile; QString m_originalServerConfigUsesExternalFile;
ServerConfig m_serverConfig; ServerConfig m_serverConfig;