Mercurial > octave-nkf
diff libgui/src/main-window.cc @ 16479:7a71ea0b7ae9
eliminate event listener class
* main-window.h, main-window.cc (main_window::exit): New function.
(main_window::_ocxtave_qt_event_listener): Delete member variable and
all uses.
main_window::construct_octave_qt_link): connect
_octave_qt_link::octave_thread_finished to main_window::exit.
* octave-qt-event-listener.h, octave-qt-event-listener.cc: Delete.
* libgui/src/module.mk (octave_gui_MOC, noinst_HEADERS,
src_libgui_src_la_SOURCES): Update lists.
* octave-qt-link.h, octave-qt-link.cc
(octave_qt_link::octave_thread_finished): New signal.
(octave_qt_link::~octave_qt_link): Delete main_thread.
(octave_qt_link::octave_qt_link): Connect main_thread::finished and
main_thread::terminated to octave_qt_link::octave_thread_finished
signal.
* octave-event-listener.h: Delete.
* libinterp/interp-core/module.mk (INTERPFCN_INC): Remove it from the
list.
* octave-link.h, octave-link.cc (octave_exit_hook): Delete.
(octave_link::discard_events, octave_link::do_discard_events,
octave_link::exit, octave_link::do_exit): New functions.
(octave_link::event_listener): Delete member variable and all uses.
(octave_link::about_to_exit, octave_link::register_event_listener,
octave_link::do_about_to_exit,
octave_link::do_register_event_listener): Delete.
(octave_link::accepting_events): New member variable.
(octave_link::octave_link): Set octave_exit to octave_link::exit.
Initialize accepting_events.
(octave_link::do_post_event): Only add to gui_event_queue if
accepting_events is true.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 09 Apr 2013 13:47:43 -0400 |
parents | 079ec7ce60e0 |
children | fa842e78f491 |
line wrap: on
line diff
--- a/libgui/src/main-window.cc Tue Apr 09 03:40:28 2013 -0400 +++ b/libgui/src/main-window.cc Tue Apr 09 13:47:43 2013 -0400 @@ -91,9 +91,6 @@ // deleted before this main_window is. Otherwise, some will be // attached to a non-existent parent. - if (_octave_qt_event_listener) - delete _octave_qt_event_listener; - octave_link::connect_link (0); delete _octave_qt_link; } @@ -266,6 +263,12 @@ } void +main_window::exit (void) +{ + qApp->quit (); +} + +void main_window::reset_windows () { // TODO: Implement. @@ -577,10 +580,6 @@ setStatusBar (status_bar); - _octave_qt_event_listener = new octave_qt_event_listener (); - - // FIXME -- is it possible to eliminate the event_listenter? - construct_octave_qt_link (); QDir curr_dir; @@ -592,6 +591,9 @@ { _octave_qt_link = new octave_qt_link (); + connect (_octave_qt_link, SIGNAL (octave_thread_finished ()), + this, SLOT (exit ())); + connect (_octave_qt_link, SIGNAL (set_workspace_signal (const QString&, const QStringList&, const QStringList&, @@ -648,8 +650,6 @@ _octave_qt_link->execute_interpreter (); octave_link::connect_link (_octave_qt_link); - - octave_link::register_event_listener (_octave_qt_event_listener); } void