Mercurial > octave
diff libgui/src/welcome-wizard.cc @ 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 | deb8877f2c34 |
children | a2b147e2b603 |
line wrap: on
line diff
--- a/libgui/src/welcome-wizard.cc Sat Nov 02 15:24:14 2019 -0400 +++ b/libgui/src/welcome-wizard.cc Fri Nov 01 18:16:49 2019 -0400 @@ -36,9 +36,9 @@ #include <windows.h> #endif +#include "gui-preferences-nr.h" #include "resource-manager.h" #include "welcome-wizard.h" -#include "gui-preferences-nr.h" namespace octave { @@ -51,9 +51,9 @@ return logo; }; - welcome_wizard::welcome_wizard (QWidget *p) - : QDialog (p), m_page_ctor_list (), m_page_list_iterator (), - m_current_page (initial_page::create (this)), + welcome_wizard::welcome_wizard (resource_manager& rmgr, QWidget *p) + : QDialog (p), m_resource_manager (rmgr), m_page_ctor_list (), + m_page_list_iterator (), m_current_page (initial_page::create (this)), m_allow_web_connect_state (false), m_max_height (0), m_max_width (0) { @@ -140,9 +140,9 @@ { // Create default settings file. - resource_manager::reload_settings (); + m_resource_manager.reload_settings (); - gui_settings *settings = resource_manager::get_settings (); + gui_settings *settings = m_resource_manager.get_settings (); if (settings) { @@ -167,13 +167,16 @@ ft.setPointSize (20); m_title->setFont (ft); + resource_manager& rmgr + = __get_resource_manager__ ("shortcut_manager::shortcut_manager"); + m_message->setText (tr ("<html><body>\n" "<p>You seem to be using the Octave graphical interface for the first time on this computer.\n" "Click 'Next' to create a configuration file and launch Octave.</p>\n" "<p>The configuration file is stored in<br>%1.</p>\n" "</body></html>"). - arg (resource_manager::get_settings_file ())); + arg (rmgr.get_settings_file ())); m_message->setWordWrap (true); m_message->setMinimumWidth (400);