From 89857e37dee1a696959f103331ff016eee7af55e Mon Sep 17 00:00:00 2001 From: pajlada Date: Thu, 8 Aug 2024 20:28:08 +0200 Subject: [PATCH] refactor: move "delete old update files" logic to Updates (#5535) --- CHANGELOG.md | 1 + src/RunGui.cpp | 17 +---------------- src/singletons/Updates.cpp | 23 ++++++++++++++++++++++- src/singletons/Updates.hpp | 5 +++++ 4 files changed, 29 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b4c03b1af..a4001d843 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -59,6 +59,7 @@ - Dev: `FlagsEnum` is now `constexpr`. (#5510) - Dev: Documented and added tests to RTL handling. (#5473) - Dev: Refactored 7TV/BTTV definitions out of `TwitchIrcServer` into `Application`. (#5532) +- Dev: Refactored code that's responsible for deleting old update files. (#5535) - Dev: Refactored a few `#define`s into `const(expr)` and cleaned includes. (#5527) - Dev: Prepared for Qt 6.8 by addressing some deprecations. (#5529) diff --git a/src/RunGui.cpp b/src/RunGui.cpp index 52094a21c..086077454 100644 --- a/src/RunGui.cpp +++ b/src/RunGui.cpp @@ -241,22 +241,7 @@ void runGui(QApplication &a, const Paths &paths, Settings &settings, } #endif - auto thread = std::thread([dir = paths.miscDirectory] { - { - auto path = combinePath(dir, "Update.exe"); - if (QFile::exists(path)) - { - QFile::remove(path); - } - } - { - auto path = combinePath(dir, "update.zip"); - if (QFile::exists(path)) - { - QFile::remove(path); - } - } - }); + updates.deleteOldFiles(); // Clear the cache 1 minute after start. QTimer::singleShot(60 * 1000, [cachePath = paths.cacheDirectory(), diff --git a/src/singletons/Updates.cpp b/src/singletons/Updates.cpp index 35b625659..9bb121989 100644 --- a/src/singletons/Updates.cpp +++ b/src/singletons/Updates.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include namespace { @@ -40,9 +41,9 @@ const QString CHATTERINO_OS = u"freebsd"_s; #else const QString CHATTERINO_OS = u"unknown"_s; #endif -; } // namespace + namespace chatterino { Updates::Updates(const Paths &paths_) @@ -75,6 +76,26 @@ bool Updates::isDowngradeOf(const QString &online, const QString ¤t) return onlineVersion < currentVersion; } +void Updates::deleteOldFiles() +{ + std::ignore = QtConcurrent::run([dir{this->paths.miscDirectory}] { + { + auto path = combinePath(dir, "Update.exe"); + if (QFile::exists(path)) + { + QFile::remove(path); + } + } + { + auto path = combinePath(dir, "update.zip"); + if (QFile::exists(path)) + { + QFile::remove(path); + } + } + }); +} + const QString &Updates::getCurrentVersion() const { return currentVersion_; diff --git a/src/singletons/Updates.hpp b/src/singletons/Updates.hpp index 8a063f345..167bfab2b 100644 --- a/src/singletons/Updates.hpp +++ b/src/singletons/Updates.hpp @@ -31,6 +31,11 @@ public: static bool isDowngradeOf(const QString &online, const QString ¤t); + /** + * @brief Delete old files that belong to the update process + */ + void deleteOldFiles(); + void checkForUpdates(); const QString &getCurrentVersion() const; const QString &getOnlineVersion() const;