changeset 27644:cca325162ed7

eliminate need for global access to resource manager in welcome wizard objects * welcome-wizard.h, welcome-wizard.cc (initial_page::initial_page, initial_page::create, setup_community_news::setup_community_news, setup_community_news::create, final_page::final_page, final_page::create): Accept reference to base_qobject as argument. (welcome_wizard::page_creator_fptr): Fix typedef to match. (welcome_wizard::welcome_wizard): Pass m_octave_qobj to page constructor. (initial_page::initial_page): Access resource_manager through local base_qobject object instead of using global __get_resource_manager__ function.
author John W. Eaton <jwe@octave.org>
date Tue, 05 Nov 2019 08:31:06 -0500
parents 337132e66ec2
children 028205a91a07
files libgui/src/welcome-wizard.cc libgui/src/welcome-wizard.h
diffstat 2 files changed, 24 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/welcome-wizard.cc	Tue Nov 05 07:49:38 2019 -0500
+++ b/libgui/src/welcome-wizard.cc	Tue Nov 05 08:31:06 2019 -0500
@@ -53,7 +53,8 @@
 
   welcome_wizard::welcome_wizard (base_qobject& oct_qobj, QWidget *p)
     : QDialog (p), m_octave_qobj (oct_qobj), m_page_ctor_list (),
-      m_page_list_iterator (), m_current_page (initial_page::create (this)),
+      m_page_list_iterator (),
+      m_current_page (initial_page::create (oct_qobj, this)),
       m_allow_web_connect_state (false),
       m_max_height (0), m_max_width (0)
   {
@@ -114,7 +115,7 @@
     delete m_current_page;
     delete layout ();
 
-    m_current_page = (*m_page_list_iterator) (this);
+    m_current_page = (*m_page_list_iterator) (m_octave_qobj, this);
 
     QVBoxLayout *new_layout = new QVBoxLayout ();
     setLayout (new_layout);
@@ -156,7 +157,7 @@
     QDialog::accept ();
   }
 
-  initial_page::initial_page (welcome_wizard *wizard)
+  initial_page::initial_page (base_qobject& oct_qobj, welcome_wizard *wizard)
     : QWidget (wizard),
       m_title (new QLabel (tr ("Welcome to Octave!"), this)),
       m_message (new QLabel (this)),
@@ -168,8 +169,7 @@
     ft.setPointSize (20);
     m_title->setFont (ft);
 
-    resource_manager& rmgr
-      = __get_resource_manager__ ("initial_page::initial_page");
+    resource_manager& rmgr = oct_qobj.get_resource_manager ();
 
     m_message->setText
       (tr ("<html><body>\n"
@@ -215,7 +215,8 @@
     connect (m_cancel, SIGNAL (clicked ()), wizard, SLOT (reject ()));
   }
 
-  setup_community_news::setup_community_news (welcome_wizard *wizard)
+  setup_community_news::setup_community_news (base_qobject&,
+                                              welcome_wizard *wizard)
     : QWidget (wizard),
       m_title (new QLabel (tr ("Community News"), this)),
       m_message (new QLabel (this)),
@@ -311,7 +312,7 @@
     connect (m_cancel, SIGNAL (clicked ()), wizard, SLOT (reject ()));
   }
 
-  final_page::final_page (welcome_wizard *wizard)
+  final_page::final_page (base_qobject&, welcome_wizard *wizard)
     : QWidget (wizard),
       m_title (new QLabel (tr ("Enjoy!"), this)),
       m_message (new QLabel (this)),
--- a/libgui/src/welcome-wizard.h	Tue Nov 05 07:49:38 2019 -0500
+++ b/libgui/src/welcome-wizard.h	Tue Nov 05 08:31:06 2019 -0500
@@ -38,7 +38,7 @@
 
   public:
 
-    typedef QWidget *(*page_creator_fptr) (welcome_wizard *wizard);
+    typedef QWidget *(*page_creator_fptr) (base_qobject&, welcome_wizard *);
 
     welcome_wizard (base_qobject& oct_qobj, QWidget *parent = nullptr);
 
@@ -75,12 +75,15 @@
 
   public:
 
-    initial_page (welcome_wizard *wizard);
+    initial_page (base_qobject& oct_qobj, welcome_wizard *wizard);
 
     ~initial_page (void) = default;
 
     static QWidget *
-    create (welcome_wizard *wizard) { return new initial_page (wizard); }
+    create (base_qobject& oct_qobj, welcome_wizard *wizard)
+    {
+      return new initial_page (oct_qobj, wizard);
+    }
 
   private:
 
@@ -98,12 +101,15 @@
 
   public:
 
-    setup_community_news (welcome_wizard *wizard);
+    setup_community_news (base_qobject& oct_qobj, welcome_wizard *wizard);
 
     ~setup_community_news (void) = default;
 
     static QWidget *
-    create (welcome_wizard *wizard) { return new setup_community_news (wizard); }
+    create (base_qobject& oct_qobj, welcome_wizard *wizard)
+    {
+      return new setup_community_news (oct_qobj, wizard);
+    }
 
   private:
 
@@ -124,12 +130,15 @@
 
   public:
 
-    final_page (welcome_wizard *wizard);
+    final_page (base_qobject& oct_qobj, welcome_wizard *wizard);
 
     ~final_page (void) = default;
 
     static QWidget *
-    create (welcome_wizard *wizard) { return new final_page (wizard); }
+    create (base_qobject& oct_qobj, welcome_wizard *wizard)
+    {
+      return new final_page (oct_qobj, wizard);
+    }
 
   private: