diff --git a/ChangeLog b/ChangeLog index f0f200e36..a7550aa49 100644 --- a/ChangeLog +++ b/ChangeLog @@ -10,7 +10,7 @@ Bug fixes: - #6921 Handling pre-main window creation status notifications - #6922 macOS CI build - #6927 Text copied and pasted between Windows and Mac OS converts to japanese -- #6933 Application loses settings +- #6935 Application loses settings Enhancements: - #6912 Removes UI for Screen Saver Sync and Files Drag and Drop diff --git a/src/gui/src/AppConfig.cpp b/src/gui/src/AppConfig.cpp index fbc46dea3..084747022 100644 --- a/src/gui/src/AppConfig.cpp +++ b/src/gui/src/AppConfig.cpp @@ -263,36 +263,38 @@ void AppConfig::loadSettings() void AppConfig::saveSettings() { - setCommonSetting(kWizardLastRun, kWizardVersion); - setCommonSetting(kLoadSystemSettings, m_LoadFromSystemScope); - setSetting(kScreenName, m_ScreenName); - setSetting(kPort, m_Port); - setSetting(kInterfaceSetting, m_Interface); - setSetting(kLogLevel, m_LogLevel); - setSetting(kLogToFile, m_LogToFile); - setSetting(kLogFilename, m_LogFilename); - setSetting(kLanguage, m_Language); - setSetting(kStartedBefore, m_StartedBefore); - setSetting(kAutoConfig, m_AutoConfig); - setSetting(kAutoConfigServer, m_AutoConfigServer); - // Refer to enum ElevateMode declaration for insight in to why this - // flag is mapped this way - setSetting(kElevateModeSetting, m_ElevateMode == ElevateAlways); - setSetting(kElevateModeEnum, static_cast(m_ElevateMode)); - setSetting(kEditionSetting, m_Edition); - setSetting(kCryptoEnabled, m_CryptoEnabled); - setSetting(kAutoHide, m_AutoHide); - setSetting(kSerialKey, m_Serialkey); - setSetting(kLastVersion, m_lastVersion); - setSetting(kLastExpireWarningTime, m_LastExpiringWarningTime); - setSetting(kActivationHasRun, m_ActivationHasRun); - setSetting(kMinimizeToTray, m_MinimizeToTray); - setSetting(kGroupServerCheck, m_ServerGroupChecked); - setSetting(kUseExternalConfig, m_UseExternalConfig); - setSetting(kConfigFile, m_ConfigFile); - setSetting(kUseInternalConfig, m_UseInternalConfig); - setSetting(kGroupClientCheck, m_ClientGroupChecked); - setSetting(kServerHostname, m_ServerHostname); + if (isWritable()) { + setCommonSetting(kWizardLastRun, kWizardVersion); + setCommonSetting(kLoadSystemSettings, m_LoadFromSystemScope); + setSetting(kScreenName, m_ScreenName); + setSetting(kPort, m_Port); + setSetting(kInterfaceSetting, m_Interface); + setSetting(kLogLevel, m_LogLevel); + setSetting(kLogToFile, m_LogToFile); + setSetting(kLogFilename, m_LogFilename); + setSetting(kLanguage, m_Language); + setSetting(kStartedBefore, m_StartedBefore); + setSetting(kAutoConfig, m_AutoConfig); + setSetting(kAutoConfigServer, m_AutoConfigServer); + // Refer to enum ElevateMode declaration for insight in to why this + // flag is mapped this way + setSetting(kElevateModeSetting, m_ElevateMode == ElevateAlways); + setSetting(kElevateModeEnum, static_cast(m_ElevateMode)); + setSetting(kEditionSetting, m_Edition); + setSetting(kCryptoEnabled, m_CryptoEnabled); + setSetting(kAutoHide, m_AutoHide); + setSetting(kSerialKey, m_Serialkey); + setSetting(kLastVersion, m_lastVersion); + setSetting(kLastExpireWarningTime, m_LastExpiringWarningTime); + setSetting(kActivationHasRun, m_ActivationHasRun); + setSetting(kMinimizeToTray, m_MinimizeToTray); + setSetting(kGroupServerCheck, m_ServerGroupChecked); + setSetting(kUseExternalConfig, m_UseExternalConfig); + setSetting(kConfigFile, m_ConfigFile); + setSetting(kUseInternalConfig, m_UseInternalConfig); + setSetting(kGroupClientCheck, m_ClientGroupChecked); + setSetting(kServerHostname, m_ServerHostname); + } m_unsavedChanges = false; }