diff libgui/src/m-editor/file-editor-tab.cc @ 16413:28136851099a

remove _terminal pointer from main_window, it is contained by other Qt object * main-window.cc, main-window.h (main_window::_terminal): Delete member variable. (main_window::get_terminal_view, main_window::get_history_dock_widget, main_window::get_files_dock_widget, main_window::is_closing): Delete unused functions. (main_window::notice_settings): New argument settings. (main_window::handle_command_double_clicked): Don't sent terminal a command here. (main_window::process_settings_dialog_request): New argument, settings. (main_window::read_settings): New argument, settings. Produce debug message if settings is nul. (main_window::write_settings): Produce debug message if settings is nul. (main_window::construct): Make _terminal a local variable and rename to terminal. Change all uses. * QTerminal.cc: New file. (QTerminal::relay_command): New slot. * QTerminal.h (QTerminal::notice_settings, QTerminal::notice_settings): New slots. * QTerminal: Delete. * files_dockwidget.cc, files_dockwidget.h (files_dock_widget::notice_settings): New argument, settings. * file_editor_tab.cc, file_editor_tab.h (file_editor_tab::notice_settings): Changed the slot to accept QSettings pointer rather than retrieve from resource_manager. (file_editor_tabl::file_editor_tab, file_editor_tab::update_lexer): Check that settings is not null before using. * file_editor.cc, file_editor.h (file_editor::notice_settings, file_editor::fetab_settings_changed): New argument, settings. (file_editor::update_lexer, file_editor::file_editor_tab): Check that settings is not null before using. * qterminal-module.mk (qterminal_libqterminal_la_SOURCES): Add QTerminal.cc to the list.
author Daniel J Sebald <daniel.sebald@ieee.org>
date Wed, 03 Apr 2013 00:10:56 -0400
parents 7fa90eb41240
children 919796a440c6
line wrap: on
line diff
--- a/libgui/src/m-editor/file-editor-tab.cc	Tue Apr 02 20:48:40 2013 -0400
+++ b/libgui/src/m-editor/file-editor-tab.cc	Wed Apr 03 00:10:56 2013 -0400
@@ -116,7 +116,9 @@
   connect (&_file_system_watcher, SIGNAL (fileChanged (QString)),
            this, SLOT (file_has_changed (QString)));
 
-  notice_settings ();
+  QSettings *settings = resource_manager::get_settings ();
+  if (settings)
+    notice_settings (settings);
 }
 
 file_editor_tab::~file_editor_tab ()
@@ -242,7 +244,8 @@
     }
 
   QSettings *settings = resource_manager::get_settings ();
-  lexer->readSettings (*settings);
+  if (settings)
+    lexer->readSettings (*settings);
   _edit_area->setLexer (lexer);
 
 }
@@ -1003,14 +1006,12 @@
 }
 
 void
-file_editor_tab::notice_settings ()
+file_editor_tab::notice_settings (const QSettings *settings)
 {
+  // QSettings pointer is checked before emitting.
+
   update_lexer ();
   QFontMetrics lexer_font_metrics (_edit_area->lexer ()->defaultFont (0));
-  QSettings *settings = resource_manager::get_settings ();
-
-  if (settings==NULL)
-    return; // this shouldn't happen!
 
   _edit_area->setCaretLineVisible(settings->value ("editor/highlightCurrentLine",true).toBool ());