diff --git a/src/apps/deskflow-gui/MainWindow.cpp b/src/apps/deskflow-gui/MainWindow.cpp index b201bffc3..1bbc251d8 100644 --- a/src/apps/deskflow-gui/MainWindow.cpp +++ b/src/apps/deskflow-gui/MainWindow.cpp @@ -579,7 +579,8 @@ void MainWindow::updateModeControls(bool serverMode) // The server can run without any clients configured, and this is actually // what you'll want to do the first time since you'll be prompted when an // unrecognized client tries to connect. - if (!m_appConfig.startedBefore() && !m_coreProcess.isStarted()) { + const auto startedBefore = Settings::value(Settings::Core::StartedBefore).toBool(); + if (!startedBefore && !m_coreProcess.isStarted()) { qDebug() << "auto-starting core server for first time"; m_coreProcess.start(); messages::showFirstServerStartMessage(this); @@ -633,7 +634,7 @@ void MainWindow::open() m_coreProcess.applyLogLevel(); - if (m_appConfig.startedBefore()) { + if (Settings::value(Settings::Core::StartedBefore).toBool()) { m_coreProcess.start(); } @@ -873,12 +874,9 @@ void MainWindow::closeEvent(QCloseEvent *event) void MainWindow::showFirstConnectedMessage() { - if (m_appConfig.startedBefore()) { + if (Settings::value(Settings::Core::StartedBefore).toBool()) return; - } - - m_appConfig.setStartedBefore(true); - m_configScopes.save(); + Settings::setValue(Settings::Core::StartedBefore, true); const auto isServer = m_coreProcess.mode() == CoreMode::Server; const auto closeToTray = Settings::value(Settings::Gui::CloseToTray).toBool(); @@ -947,8 +945,7 @@ void MainWindow::coreProcessStateChanged(CoreProcessState state) if (state == CoreProcessState::Started) { qDebug() << "recording that core has started"; - m_appConfig.setStartedBefore(true); - m_configScopes.save(); + Settings::setValue(Settings::Core::StartedBefore, true); } if (state == CoreProcessState::Started || state == CoreProcessState::Starting || diff --git a/src/lib/common/Settings.cpp b/src/lib/common/Settings.cpp index 9000f7a56..fc9ba4bfd 100644 --- a/src/lib/common/Settings.cpp +++ b/src/lib/common/Settings.cpp @@ -69,7 +69,7 @@ void Settings::cleanSettings() QVariant Settings::defaultValue(const QString &key) { - if ((key == Core::Scope) || (key == Gui::Autohide)) { + if ((key == Core::Scope) || (key == Gui::Autohide) || (key == Core::StartedBefore)) { return false; } diff --git a/src/lib/common/Settings.h b/src/lib/common/Settings.h index 0517a90e6..83b81b672 100644 --- a/src/lib/common/Settings.h +++ b/src/lib/common/Settings.h @@ -33,6 +33,7 @@ public: struct Core { inline static const auto Scope = QStringLiteral("core/loadFromSystemScope"); + inline static const auto StartedBefore = QStringLiteral("core/startedBefore"); }; struct Gui { @@ -74,6 +75,7 @@ private: // clang-format off inline static const QStringList m_validKeys = { Core::Scope + , Core::StartedBefore , Gui::Autohide , Gui::AutoUpdateCheck , Gui::CloseToTray diff --git a/src/lib/gui/config/AppConfig.cpp b/src/lib/gui/config/AppConfig.cpp index 66f9489cf..68982fc01 100644 --- a/src/lib/gui/config/AppConfig.cpp +++ b/src/lib/gui/config/AppConfig.cpp @@ -40,7 +40,7 @@ const char *const AppConfig::m_SettingsName[] = { "logToFile", "logFilename", "", // 6 wizardLastRun, obsolete - "startedBefore", + "", // 7 statedBefore moved to deskflow settings "elevateMode", "elevateModeEnum", "", // 10 = edition, obsolete (using serial key instead) @@ -120,7 +120,6 @@ void AppConfig::recallFromCurrentScope() m_LogLevel = getFromCurrentScope(kLogLevel, m_LogLevel).toInt(); m_LogToFile = getFromCurrentScope(kLogToFile, m_LogToFile).toBool(); m_LogFilename = getFromCurrentScope(kLogFilename, m_LogFilename).toString(); - m_StartedBefore = getFromCurrentScope(kStartedBefore, m_StartedBefore).toBool(); m_LastVersion = getFromCurrentScope(kLastVersion, m_LastVersion).toString(); m_ServerGroupChecked = getFromCurrentScope(kServerGroupChecked, m_ServerGroupChecked).toBool(); m_UseExternalConfig = getFromCurrentScope(kUseExternalConfig, m_UseExternalConfig).toBool(); @@ -176,7 +175,6 @@ void AppConfig::commit() setInCurrentScope(kLogLevel, m_LogLevel); setInCurrentScope(kLogToFile, m_LogToFile); setInCurrentScope(kLogFilename, m_LogFilename); - setInCurrentScope(kStartedBefore, m_StartedBefore); setInCurrentScope(kElevateMode, static_cast(m_ElevateMode)); setInCurrentScope(kElevateModeLegacy, m_ElevateMode == ElevateMode::kAlways); setInCurrentScope(kTlsEnabled, m_TlsEnabled); @@ -431,11 +429,6 @@ ProcessMode AppConfig::processMode() const return m_EnableService ? ProcessMode::kService : ProcessMode::kDesktop; } -bool AppConfig::startedBefore() const -{ - return m_StartedBefore; -} - QString AppConfig::lastVersion() const { return m_LastVersion; @@ -654,11 +647,6 @@ void AppConfig::setLogFilename(const QString &s) m_LogFilename = s; } -void AppConfig::setStartedBefore(bool b) -{ - m_StartedBefore = b; -} - void AppConfig::setElevateMode(ElevateMode em) { m_ElevateMode = em; diff --git a/src/lib/gui/config/AppConfig.h b/src/lib/gui/config/AppConfig.h index c37542a25..5342eac44 100644 --- a/src/lib/gui/config/AppConfig.h +++ b/src/lib/gui/config/AppConfig.h @@ -62,7 +62,7 @@ private: kLogToFile = 4, kLogFilename = 5, // 6 = show first run wizard, obsolete - kStartedBefore = 7, + // 7 Started before moved to deskflow settings kElevateModeLegacy = 8, kElevateMode = 9, // 10 = edition, obsolete (related to obsolete licensing) @@ -164,7 +164,6 @@ public: // Getters (new methods) // - bool startedBefore() const; QString logDir() const; bool serverGroupChecked() const; bool useInternalConfig() const; @@ -197,7 +196,6 @@ public: // Setters (new methods) // - void setStartedBefore(bool b); void setServerGroupChecked(bool); void setUseExternalConfig(bool); void setConfigFile(const QString &); @@ -289,7 +287,6 @@ private: int m_LogLevel = 0; bool m_LogToFile = false; QString m_LogFilename = logDir() + deskflow::gui::kDefaultLogFile; - bool m_StartedBefore = false; ElevateMode m_ElevateMode = deskflow::gui::kDefaultElevateMode; bool m_TlsEnabled = true; QString m_LastVersion = "";