refactor(ServerConfigDialog): new isGeneralConfigModified method to track if the general config items changed use it in onChanged
This commit is contained in:
parent
fc95339477
commit
4107e7bdda
2 changed files with 22 additions and 17 deletions
|
|
@ -541,23 +541,27 @@ bool ServerConfigDialog::addComputer(const QString &clientName, bool doSilent)
|
||||||
return isAccepted;
|
return isAccepted;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ServerConfigDialog::isGeneralConfigModified() const
|
||||||
|
{
|
||||||
|
return m_originalServerConfigIsExternal != Settings::value(Settings::Server::ExternalConfig).toBool() ||
|
||||||
|
m_originalServerConfigUsesExternalFile != Settings::value(Settings::Server::ExternalConfigFile).toString() ||
|
||||||
|
m_protocol != Settings::networkProtocol() ||
|
||||||
|
m_enableClipboard != Settings::value(Settings::Server::EnableClipboard).toBool() ||
|
||||||
|
m_clipboardSize != Settings::value(Settings::Server::ClipboardSize).toUInt() ||
|
||||||
|
m_enableHeartbeat != Settings::value(Settings::Server::EnableHeatbeat).toBool() ||
|
||||||
|
m_heartbeatRate != Settings::value(Settings::Server::Heartbeat).toInt() ||
|
||||||
|
m_enableSwitchDelay != Settings::value(Settings::Server::EnableSwitchDelay).toBool() ||
|
||||||
|
m_switchDelay != Settings::value(Settings::Server::SwitchDelay).toInt() ||
|
||||||
|
m_enableSwitchDoubleTap != Settings::value(Settings::Server::EnableSwitchDoubleTap).toBool() ||
|
||||||
|
m_switchDoubleTap != Settings::value(Settings::Server::SwitchDoubleTap).toInt() ||
|
||||||
|
m_relativeMouseMoves != Settings::value(Settings::Server::RelativeMouseMoves).toBool() ||
|
||||||
|
m_win32keepForeground != Settings::value(Settings::Server::Win32KeepForeground).toBool() ||
|
||||||
|
m_disableLockToComputer != Settings::value(Settings::Server::DisableLockToComputer).toBool() ||
|
||||||
|
m_defaultLockToComputerState != Settings::value(Settings::Server::DefaultLockToComputerState).toBool();
|
||||||
|
}
|
||||||
|
|
||||||
void ServerConfigDialog::onChange()
|
void ServerConfigDialog::onChange()
|
||||||
{
|
{
|
||||||
bool isAppConfigDataEqual =
|
const bool writable = Settings::isWritable();
|
||||||
m_originalServerConfigIsExternal == serverConfig().useExternalConfig() &&
|
m_buttonBox->enableSave(writable && (isGeneralConfigModified() || !(m_originalServerConfig == m_serverConfig)));
|
||||||
m_originalServerConfigUsesExternalFile == serverConfig().configFile() &&
|
|
||||||
m_protocol == Settings::networkProtocol() &&
|
|
||||||
m_enableClipboard == Settings::value(Settings::Server::EnableClipboard).toBool() &&
|
|
||||||
m_clipboardSize == Settings::value(Settings::Server::ClipboardSize).toUInt() &&
|
|
||||||
m_enableHeartbeat == Settings::value(Settings::Server::EnableHeatbeat).toBool() &&
|
|
||||||
m_heartbeatRate == Settings::value(Settings::Server::Heartbeat).toInt() &&
|
|
||||||
m_enableSwitchDelay == Settings::value(Settings::Server::EnableSwitchDelay).toBool() &&
|
|
||||||
m_switchDelay == Settings::value(Settings::Server::SwitchDelay).toInt() &&
|
|
||||||
m_enableSwitchDoubleTap == Settings::value(Settings::Server::EnableSwitchDoubleTap).toBool() &&
|
|
||||||
m_switchDoubleTap == Settings::value(Settings::Server::SwitchDoubleTap).toInt() &&
|
|
||||||
m_relativeMouseMoves == Settings::value(Settings::Server::RelativeMouseMoves).toBool() &&
|
|
||||||
m_win32keepForeground == Settings::value(Settings::Server::Win32KeepForeground).toBool() &&
|
|
||||||
m_disableLockToComputer == Settings::value(Settings::Server::DisableLockToComputer).toBool() &&
|
|
||||||
m_defaultLockToComputerState == Settings::value(Settings::Server::DefaultLockToComputerState).toBool();
|
|
||||||
m_buttonBox->enableSave(!isAppConfigDataEqual || !(m_originalServerConfig == m_serverConfig));
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,7 @@ private:
|
||||||
void loadFromConfig();
|
void loadFromConfig();
|
||||||
void initConnections() const;
|
void initConnections() const;
|
||||||
void updateControls() const;
|
void updateControls() const;
|
||||||
|
bool isGeneralConfigModified() const;
|
||||||
void onChange();
|
void onChange();
|
||||||
std::unique_ptr<Ui::ServerConfigDialog> ui;
|
std::unique_ptr<Ui::ServerConfigDialog> ui;
|
||||||
QString m_message = "";
|
QString m_message = "";
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue