From ad1429e9aaa9bdf312c601e35fdc69a132810790 Mon Sep 17 00:00:00 2001 From: Jamie Newbon Date: Mon, 27 Apr 2020 13:02:26 +0100 Subject: [PATCH] #6538 Removed appconfig saveSettings calls from external classes, update serverconfig to derived class --- src/gui/src/ActivationDialog.cpp | 2 -- src/gui/src/LicenseManager.cpp | 3 --- src/gui/src/ServerConfig.cpp | 10 ++++++---- src/gui/src/ServerConfig.h | 10 +++++----- src/gui/src/SettingsDialog.cpp | 2 -- src/gui/src/main.cpp | 3 +-- 6 files changed, 12 insertions(+), 18 deletions(-) diff --git a/src/gui/src/ActivationDialog.cpp b/src/gui/src/ActivationDialog.cpp index 88948958b..e8136107f 100644 --- a/src/gui/src/ActivationDialog.cpp +++ b/src/gui/src/ActivationDialog.cpp @@ -54,7 +54,6 @@ void ActivationDialog::reject() if (QDialog::Accepted == cancelActivationDialog.exec()) { m_LicenseManager->skipActivation(); m_appConfig->activationHasRun(true); - m_appConfig->saveSettings(); } else { return; } @@ -66,7 +65,6 @@ void ActivationDialog::accept() { QMessageBox message; m_appConfig->activationHasRun(true); - m_appConfig->saveSettings(); std::pair result; try { diff --git a/src/gui/src/LicenseManager.cpp b/src/gui/src/LicenseManager.cpp index b756bbf80..f0f09c2f3 100644 --- a/src/gui/src/LicenseManager.cpp +++ b/src/gui/src/LicenseManager.cpp @@ -62,8 +62,6 @@ LicenseManager::setSerialKey(SerialKey serialKey, bool acceptExpired) emit beginTrial(m_serialKey.isExpiring(currentTime)); } } - - m_AppConfig->saveSettings(); } return ret; @@ -118,7 +116,6 @@ void LicenseManager::refresh() setSerialKey(serialKey, true); } catch (...) { m_AppConfig->clearSerialKey(); - m_AppConfig->saveSettings(); } } if (m_serialKey.isExpired(::time(0))) { diff --git a/src/gui/src/ServerConfig.cpp b/src/gui/src/ServerConfig.cpp index 72519f4d1..3220a5a10 100644 --- a/src/gui/src/ServerConfig.cpp +++ b/src/gui/src/ServerConfig.cpp @@ -42,9 +42,9 @@ static const struct const int serverDefaultIndex = 7; -ServerConfig::ServerConfig(AppConfig* appConfig, int numColumns, int numRows , +ServerConfig::ServerConfig(int numColumns, int numRows , QString serverName, MainWindow* mainWindow) : - m_pAppConfig(appConfig), + m_Screens(), m_NumColumns(numColumns), m_NumRows(numRows), @@ -56,8 +56,7 @@ ServerConfig::ServerConfig(AppConfig* appConfig, int numColumns, int numRows , m_ClipboardSharingSize(defaultClipboardSharingSize()), m_pMainWindow(mainWindow) { - Q_ASSERT(m_pAppConfig); - + GUI::Config::ConfigWriter::make()->registerClass(this); loadSettings(); } @@ -142,6 +141,9 @@ void ServerConfig::saveSettings() settings().endArray(); settings().endGroup(); + + //Tell the config writer there are changes + GUI::Config::ConfigWriter::make()->markUnsaved(); } void ServerConfig::loadSettings() diff --git a/src/gui/src/ServerConfig.h b/src/gui/src/ServerConfig.h index 506e4edfd..5b989e831 100644 --- a/src/gui/src/ServerConfig.h +++ b/src/gui/src/ServerConfig.h @@ -25,6 +25,7 @@ #include "Screen.h" #include "BaseConfig.h" #include "Hotkey.h" +#include "ConfigBase.h" class QTextStream; class QSettings; @@ -34,13 +35,13 @@ class ServerConfigDialog; class MainWindow; class AppConfig; -class ServerConfig : public BaseConfig +class ServerConfig : public BaseConfig, public GUI::Config::ConfigBase { friend class ServerConfigDialog; friend QTextStream& operator<<(QTextStream& outStream, const ServerConfig& config); public: - ServerConfig(AppConfig* settings, int numColumns, int numRows, + ServerConfig(int numColumns, int numRows, QString serverName, MainWindow* mainWindow); ~ServerConfig(); @@ -68,8 +69,8 @@ class ServerConfig : public BaseConfig size_t clipboardSharingSize() const { return m_ClipboardSharingSize; } static size_t defaultClipboardSharingSize(); - void saveSettings(); - void loadSettings(); + void saveSettings() override; + void loadSettings() override; bool save(const QString& fileName) const; void save(QFile& file) const; int numScreens() const; @@ -111,7 +112,6 @@ class ServerConfig : public BaseConfig void addToFirstEmptyGrid(const QString& clientName); private: - AppConfig* m_pAppConfig; ScreenList m_Screens; int m_NumColumns; int m_NumRows; diff --git a/src/gui/src/SettingsDialog.cpp b/src/gui/src/SettingsDialog.cpp index f1546687c..b8c720ec0 100644 --- a/src/gui/src/SettingsDialog.cpp +++ b/src/gui/src/SettingsDialog.cpp @@ -68,7 +68,6 @@ void SettingsDialog::accept() //We only need to test the System scoped Radio as they are connected appConfig().setLoadFromSystemScope(m_pRadioSystemScope->isChecked()); - appConfig().saveSettings(); QDialog::accept(); } @@ -201,7 +200,6 @@ void SettingsDialog::on_m_pComboLanguage_currentIndexChanged(int index) void SettingsDialog::on_m_pCheckBoxEnableCrypto_toggled(bool checked) { m_appConfig.setCryptoEnabled(checked); - m_appConfig.saveSettings(); if (checked) { SslCertificate sslCertificate; sslCertificate.generateCertificate(); diff --git a/src/gui/src/main.cpp b/src/gui/src/main.cpp index 9738c9697..2d350f1cf 100644 --- a/src/gui/src/main.cpp +++ b/src/gui/src/main.cpp @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -#define TRAY_RETRY_COUNT 1 +#define TRAY_RETRY_COUNT 10 #define TRAY_RETRY_WAIT 2000 #include "QSynergyApplication.h" @@ -27,7 +27,6 @@ #include #include -#include #include #if defined(Q_OS_MAC)