From 517f87826db82ba741856145df0cde2982f5f4c0 Mon Sep 17 00:00:00 2001
From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
Date: Tue, 14 Nov 2023 17:57:59 -0500
Subject: [PATCH] misc: don't use 2 AppSettingsManager objects

Injects the primary instance into PluginVersionManager instead.

Change-Id: I3269f048a805a069d30f3ab1bec5c4be755a35cb
---
 src/app/pluginadapter.cpp        |  3 +--
 src/app/pluginversionmanager.cpp | 12 +++++++-----
 src/app/pluginversionmanager.h   |  5 ++++-
 3 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/src/app/pluginadapter.cpp b/src/app/pluginadapter.cpp
index f5bd1ab37..1ca2c4065 100644
--- a/src/app/pluginadapter.cpp
+++ b/src/app/pluginadapter.cpp
@@ -24,7 +24,6 @@
 #include "networkmanager.h"
 #include "lrcinstance.h"
 #include "appsettingsmanager.h"
-#include "utilsadapter.h"
 #include "qmlregister.h"
 
 #include <QJsonArray>
@@ -40,7 +39,7 @@ PluginAdapter::PluginAdapter(LRCInstance* instance,
                              QString baseUrl)
     : QmlAdapterBase(instance, parent)
     , pluginStoreListModel_(new PluginStoreListModel(instance, this))
-    , pluginVersionManager_(new PluginVersionManager(instance, this))
+    , pluginVersionManager_(new PluginVersionManager(instance, settingsManager, this))
     , pluginListModel_(new PluginListModel(instance, this))
     , lrcInstance_(instance)
     , settingsManager_(settingsManager)
diff --git a/src/app/pluginversionmanager.cpp b/src/app/pluginversionmanager.cpp
index 1e4e5a9f4..20daa5cbc 100644
--- a/src/app/pluginversionmanager.cpp
+++ b/src/app/pluginversionmanager.cpp
@@ -32,10 +32,10 @@ static constexpr int updatePeriod = 1000 * 60 * 60 * 24; // one day in millis
 struct PluginVersionManager::Impl : public QObject
 {
 public:
-    Impl(LRCInstance* instance, PluginVersionManager& parent)
+    Impl(LRCInstance* instance, AppSettingsManager* settingsManager, PluginVersionManager& parent)
         : QObject(nullptr)
         , parent_(parent)
-        , settingsManager_(new AppSettingsManager(this))
+        , settingsManager_(settingsManager)
         , lrcInstance_(instance)
         , updateTimer_(new QTimer(this))
     {
@@ -164,9 +164,11 @@ public:
     QTimer* updateTimer_;
 };
 
-PluginVersionManager::PluginVersionManager(LRCInstance* instance, QObject* parent)
+PluginVersionManager::PluginVersionManager(LRCInstance* instance,
+                                           AppSettingsManager* settingsManager,
+                                           QObject* parent)
     : NetworkManager(&instance->connectivityMonitor(), parent)
-    , pimpl_(std::make_unique<Impl>(instance, *this))
+    , pimpl_(std::make_unique<Impl>(instance, settingsManager, *this))
 {}
 
 PluginVersionManager::~PluginVersionManager()
@@ -241,4 +243,4 @@ PluginVersionManager::checkVersion(const QString& installedVersion,
         }
     }
     return false;
-}
\ No newline at end of file
+}
diff --git a/src/app/pluginversionmanager.h b/src/app/pluginversionmanager.h
index 34a406dc6..127f411b2 100644
--- a/src/app/pluginversionmanager.h
+++ b/src/app/pluginversionmanager.h
@@ -22,6 +22,7 @@
 
 class QString;
 class LRCInstance;
+class AppSettingsManager;
 
 #define PLUGIN_STATUS_ROLES \
     X(INSTALLABLE) \
@@ -46,7 +47,9 @@ class PluginVersionManager final : public NetworkManager
 {
     Q_OBJECT
 public:
-    explicit PluginVersionManager(LRCInstance* instance, QObject* parent = nullptr);
+    explicit PluginVersionManager(LRCInstance* instance,
+                                  AppSettingsManager* settingsManager,
+                                  QObject* parent = nullptr);
     ~PluginVersionManager();
 
     Q_INVOKABLE bool isAutoUpdaterEnabled();
-- 
GitLab