diff libgui/src/news-reader.h @ 27620:45bb5bbaf291

don't use singleton pattern for resource manager in GUI Move ownership of the resource_manager object to the base_qobject class. Store reference to resource_manager object as a member variable in most objects that need to access it. Eliminate static member functions in resource_managar class. Provide a get_resource_manager method in the base_qboject class and a global __get_resource_manager__ function for those instances where we can't easily provide local access to the resource_manager object. There are many changes to many files, but most are straightforward.
author John W. Eaton <jwe@octave.org>
date Fri, 01 Nov 2019 18:16:49 -0400
parents f6b729077ebd
children 8b6e928e0705
line wrap: on
line diff
--- a/libgui/src/news-reader.h	Sat Nov 02 15:24:14 2019 -0400
+++ b/libgui/src/news-reader.h	Fri Nov 01 18:16:49 2019 -0400
@@ -29,16 +29,19 @@
 
 namespace octave
 {
+  class resource_manager;
+
   class news_reader : public QObject
   {
     Q_OBJECT
 
   public:
 
-    news_reader (const QString& base_url, const QString& page,
-                 int serial = -1, bool connect_to_web = false)
-      : QObject (), m_base_url (base_url), m_page (page), m_serial (serial),
-        m_connect_to_web (connect_to_web)
+    news_reader (resource_manager& rmgr, const QString& base_url,
+                 const QString& page, int serial = -1,
+                 bool connect_to_web = false)
+      : QObject (), m_resource_manager (rmgr), m_base_url (base_url),
+        m_page (page), m_serial (serial), m_connect_to_web (connect_to_web)
     { }
 
   signals:
@@ -53,6 +56,8 @@
 
   private:
 
+    resource_manager& m_resource_manager;
+
     QString m_base_url;
     QString m_page;
     int m_serial;