Mercurial > octave-nkf
diff libgui/src/octave-qt-link.cc @ 17918:a38cee8f0a9b
derive octave_main_thread from QObject, not QThread
* main-window.h, main-window.cc (main_window::_octave_main_thread):
Delete member variable and all uses.
* libgu/src/module.mk (octave_gui_MOC):
Include src/moc-octave-main-thread.cc in the list.
* octave-main-thread.h, octave-main-thread.cc
(octave_main_thread::run): Delete.
(octave_main_thread::execute): Rename from octave_main_thread::run.
(class octave_main_thread): Derive from QObject, not QThread.
* octave-qt-link.h, octave-qt-link.cc
(octave_qt_link::octave_interpreter): New member variable.
(octave_qt_link::main_thread): Now a pointer to a QThread object.
(octave_qt_link::execute_interpreter_signal): New signal.
(octave_qt_link::octave_qt_link): Create thread and octave_interpreter
object here instead of accepting thread as argument. Move
octave_interpreter to the main_thread object and connect the
execute_interpreter signal to the corresponding slot.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 12 Nov 2013 12:36:30 -0500 |
parents | 766ad9be2966 |
children | b6d07dd90f3d |
line wrap: on
line diff
--- a/libgui/src/octave-qt-link.cc Wed Nov 13 06:36:50 2013 +0000 +++ b/libgui/src/octave-qt-link.cc Tue Nov 12 12:36:30 2013 -0500 @@ -43,16 +43,24 @@ #include "resource-manager.h" -octave_qt_link::octave_qt_link (octave_main_thread *mt) - : octave_link (), main_thread (mt) -{ } +octave_qt_link::octave_qt_link (void) + : octave_link (), main_thread (new QThread ()), + octave_interpreter (new octave_main_thread ()) +{ + connect (this, SIGNAL (execute_interpreter_signal (void)), + octave_interpreter, SLOT (execute_interpreter (void))); + + octave_interpreter->moveToThread (main_thread); + + main_thread->start (); +} octave_qt_link::~octave_qt_link (void) { } void octave_qt_link::execute_interpreter (void) { - main_thread->execute_interpreter (); + emit execute_interpreter_signal (); } bool