From 0f335d46bb8085d12a3322233ee97a70af4bc44f Mon Sep 17 00:00:00 2001 From: Nick Bolton Date: Wed, 10 Sep 2025 09:38:29 +0100 Subject: [PATCH] fix: Store server config window state in memory instead of on disk --- src/lib/common/Settings.h | 2 -- src/lib/gui/MainWindow.cpp | 4 ++-- src/lib/gui/core/ServerConnection.cpp | 8 +++----- src/lib/gui/core/ServerConnection.h | 5 +++++ 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/lib/common/Settings.h b/src/lib/common/Settings.h index 5034724b1..a67d1f43b 100644 --- a/src/lib/common/Settings.h +++ b/src/lib/common/Settings.h @@ -87,7 +87,6 @@ public: }; struct Server { - inline static const auto ConfigVisible = QStringLiteral("server/configVisible"); inline static const auto ExternalConfig = QStringLiteral("server/externalConfig"); inline static const auto ExternalConfigFile = QStringLiteral("server/externalConfigFile"); }; @@ -197,7 +196,6 @@ private: , Settings::Security::CheckPeers , Settings::Security::KeySize , Settings::Security::TlsEnabled - , Settings::Server::ConfigVisible , Settings::Server::ExternalConfig , Settings::Server::ExternalConfigFile }; diff --git a/src/lib/gui/MainWindow.cpp b/src/lib/gui/MainWindow.cpp index 3e198e7e8..529ad9581 100644 --- a/src/lib/gui/MainWindow.cpp +++ b/src/lib/gui/MainWindow.cpp @@ -645,12 +645,12 @@ void MainWindow::updateNetworkInfo() void MainWindow::serverConnectionConfigureClient(const QString &clientName) { - Settings::setValue(Settings::Server::ConfigVisible, true); + m_serverConnection.serverConfigDialogVisible(true); ServerConfigDialog dialog(this, m_serverConfig); if (dialog.addClient(clientName) && dialog.exec() == QDialog::Accepted) { m_coreProcess.restart(); } - Settings::setValue(Settings::Server::ConfigVisible, false); + m_serverConnection.serverConfigDialogVisible(false); } ////////////////////////////////////////////////////////////////////////////// diff --git a/src/lib/gui/core/ServerConnection.cpp b/src/lib/gui/core/ServerConnection.cpp index aadd6060b..7b02b8d14 100644 --- a/src/lib/gui/core/ServerConnection.cpp +++ b/src/lib/gui/core/ServerConnection.cpp @@ -6,11 +6,9 @@ #include "ServerConnection.h" -#include "ServerMessage.h" - -#include "common/Settings.h" - #include "Messages.h" +#include "ServerMessage.h" +#include "common/Settings.h" #include #include @@ -65,7 +63,7 @@ void ServerConnection::handleLogLine(const QString &logLine) return; } - if (Settings::value(Settings::Server::ConfigVisible).toBool()) { + if (m_serverConfigDialogVisible) { qDebug("server config dialog visible, skipping new client prompt"); return; } diff --git a/src/lib/gui/core/ServerConnection.h b/src/lib/gui/core/ServerConnection.h index f3e85096a..8a0c2d740 100644 --- a/src/lib/gui/core/ServerConnection.h +++ b/src/lib/gui/core/ServerConnection.h @@ -30,6 +30,10 @@ public: QWidget *parent, IServerConfig &serverConfig, std::shared_ptr deps = std::make_shared() ); void handleLogLine(const QString &logLine); + void serverConfigDialogVisible(bool visible) + { + m_serverConfigDialogVisible = visible; + } Q_SIGNALS: void messageShowing(); @@ -45,6 +49,7 @@ private: std::shared_ptr m_pDeps; QSet m_connectedClients; bool m_messageShowing = false; + bool m_serverConfigDialogVisible = false; }; } // namespace deskflow::gui