From eb74d8ca99a56606ecd0781f3b56714aaaeffd8f Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Thu, 20 Mar 2025 20:36:09 -0400 Subject: [PATCH] refactor: replace EnvVars.h with a new item in settings Settings::Core::UpdateUrl --- src/apps/deskflow-gui/VersionChecker.cpp | 7 ++----- src/lib/common/Settings.cpp | 5 +++++ src/lib/common/Settings.h | 2 ++ src/lib/common/UrlConstants.h | 6 ++---- src/lib/gui/CMakeLists.txt | 1 - src/lib/gui/EnvVars.h | 18 ------------------ src/lib/gui/Messages.cpp | 11 ++--------- 7 files changed, 13 insertions(+), 37 deletions(-) delete mode 100644 src/lib/gui/EnvVars.h diff --git a/src/apps/deskflow-gui/VersionChecker.cpp b/src/apps/deskflow-gui/VersionChecker.cpp index 5df1ff5a9..e88ef0740 100644 --- a/src/apps/deskflow-gui/VersionChecker.cpp +++ b/src/apps/deskflow-gui/VersionChecker.cpp @@ -6,8 +6,7 @@ #include "VersionChecker.h" -#include "common/Constants.h" -#include "gui/EnvVars.h" +#include "common/Settings.h" #include #include @@ -17,8 +16,6 @@ #include #include -using namespace deskflow::gui; - VersionChecker::VersionChecker(QObject *parent) : QObject(parent), m_network{new QNetworkAccessManager(this)} { connect(m_network, &QNetworkAccessManager::finished, this, &VersionChecker::replyFinished, Qt::UniqueConnection); @@ -26,7 +23,7 @@ VersionChecker::VersionChecker(QObject *parent) : QObject(parent), m_network{new void VersionChecker::checkLatest() const { - const QString url = env_vars::versionUrl(); + const QString url = Settings::value(Settings::Core::UpdateUrl).toString(); qDebug("checking for updates at: %s", qPrintable(url)); auto request = QNetworkRequest(url); auto userAgent = QString("%1 %2 on %3").arg(kAppName, kVersion, QSysInfo::prettyProductName()); diff --git a/src/lib/common/Settings.cpp b/src/lib/common/Settings.cpp index 9a38c2085..5c28f0c58 100644 --- a/src/lib/common/Settings.cpp +++ b/src/lib/common/Settings.cpp @@ -6,6 +6,8 @@ #include "Settings.h" +#include "UrlConstants.h" + #include #include @@ -110,6 +112,9 @@ QVariant Settings::defaultValue(const QString &key) if (key == Core::ElevateMode) return Settings::ElevateMode::Always; + if (key == Core::UpdateUrl) + return kUrlUpdateCheck; + if (key == Server::ExternalConfigFile) return QStringLiteral("%1/%2.conf").arg(instance()->settingsPath(), kAppId); diff --git a/src/lib/common/Settings.h b/src/lib/common/Settings.h index c7565fcd1..50a4bb1dd 100644 --- a/src/lib/common/Settings.h +++ b/src/lib/common/Settings.h @@ -49,6 +49,7 @@ public: inline static const auto ProcessMode = QStringLiteral("core/processMode"); inline static const auto ScreenName = QStringLiteral("core/screenName"); inline static const auto StartedBefore = QStringLiteral("core/startedBefore"); + inline static const auto UpdateUrl = QStringLiteral("core/updateUrl"); }; struct Daemon { @@ -189,6 +190,7 @@ private: , Settings::Core::ProcessMode , Settings::Core::ScreenName , Settings::Core::StartedBefore + , Settings::Core::UpdateUrl , Settings::Daemon::Command , Settings::Daemon::Elevate , Settings::Daemon::LogFile diff --git a/src/lib/common/UrlConstants.h b/src/lib/common/UrlConstants.h index 550501272..332db4201 100644 --- a/src/lib/common/UrlConstants.h +++ b/src/lib/common/UrlConstants.h @@ -8,8 +8,6 @@ #include -namespace deskflow::gui { - // important: this is used for settings paths on some platforms, // and must not be a url. qt automatically converts this to reverse domain // notation (rdn), e.g. org.deskflow @@ -20,8 +18,8 @@ const auto kUrlApp = QStringLiteral("https://%1").arg(kOrgDomain); const auto kUrlHelp = QStringLiteral("%1/help?%2").arg(kUrlApp, kUrlSourceQuery); const auto kUrlDownload = QStringLiteral("%1/download?%2").arg(kUrlApp, kUrlSourceQuery); +const auto kUrlUpdateCheck = QStringLiteral("https://api.%1/version").arg(kOrgDomain); + #if defined(Q_OS_LINUX) const auto kUrlGnomeTrayFix = QStringLiteral("https://extensions.gnome.org/extension/615/appindicator-support/"); #endif - -} // namespace deskflow::gui diff --git a/src/lib/gui/CMakeLists.txt b/src/lib/gui/CMakeLists.txt index 19a51b26a..feb8960ca 100644 --- a/src/lib/gui/CMakeLists.txt +++ b/src/lib/gui/CMakeLists.txt @@ -19,7 +19,6 @@ add_library(${target} STATIC Diagnostic.h DotEnv.cpp DotEnv.h - EnvVars.h FileTail.cpp FileTail.h Logger.cpp diff --git a/src/lib/gui/EnvVars.h b/src/lib/gui/EnvVars.h deleted file mode 100644 index 5503caa54..000000000 --- a/src/lib/gui/EnvVars.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Deskflow -- mouse and keyboard sharing utility - * SPDX-FileCopyrightText: (C) 2024 Symless Ltd. - * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception - */ - -#pragma once - -#include - -namespace deskflow::gui::env_vars { - -inline QString versionUrl() -{ - return qEnvironmentVariable("DESKFLOW_VERSION_URL", QStringLiteral("https://api.deskflow.org/version")); -} - -} // namespace deskflow::gui::env_vars diff --git a/src/lib/gui/Messages.cpp b/src/lib/gui/Messages.cpp index 4024954bf..e55b6e944 100644 --- a/src/lib/gui/Messages.cpp +++ b/src/lib/gui/Messages.cpp @@ -6,18 +6,11 @@ #include "Messages.h" -<<<<<<< HEAD -#include "Constants.h" -#include "EnvVars.h" -#include "Logger.h" -#include "Styles.h" -#include "common/Constants.h" -======= #include "Logger.h" #include "Styles.h" + #include "common/Settings.h" #include "common/UrlConstants.h" ->>>>>>> 25c5bfa2b (refactor: move lib/gui/Constants.h => lib/common/UrlConstants.h) #include #include @@ -310,7 +303,7 @@ bool showUpdateCheckOption(QWidget *parent) "

Checking for updates requires an Internet connection.

" "

URL:

%2

" ) - .arg(kAppName, env_vars::versionUrl())); + .arg(kAppName, Settings::value(Settings::Core::UpdateUrl).toString())); message.exec(); return message.clickedButton() == checkButton;