comparison gui/src/main-window.cc @ 14718:3df7ef0080c7 gui

Added event based processing and implement exit and change directory event. * octave-event-observer.h: Implements observer part for the observer pattern. * main-window.cc: Posting events instead of emulating keypresses. * octave-event.h: Added new event types. * octave-link: Subclassed octave_event_observer and implemented events. * src.pro: Added file for tracking.
author Jacob Dawid <jacob.dawid@googlemail.com>
date Mon, 04 Jun 2012 01:42:58 +0200
parents 572a707408b2
children 89c64340e9ab
comparison
equal deleted inserted replaced
14716:572a707408b2 14718:3df7ef0080c7
174 } 174 }
175 175
176 void 176 void
177 main_window::change_current_working_directory (QString directory) 177 main_window::change_current_working_directory (QString directory)
178 { 178 {
179 _terminal->sendText (QString ("cd \'%1\'\n").arg (directory)); 179 octave_link::instance ()->request_working_directory_change (directory.toStdString ());
180 _terminal->setFocus ();
181 } 180 }
182 181
183 void 182 void
184 main_window::current_working_directory_up () 183 main_window::current_working_directory_up ()
185 { 184 {
214 213
215 void 214 void
216 main_window::closeEvent (QCloseEvent * closeEvent) 215 main_window::closeEvent (QCloseEvent * closeEvent)
217 { 216 {
218 closeEvent->ignore (); 217 closeEvent->ignore ();
219 _terminal->sendText ("exit\n"); 218 octave_link::instance ()->request_octave_exit ();
220 /* 219 }
221 report_status_message (tr ("Saving data and shutting down."));
222 _closing = true; // inform editor window that whole application is closed
223 octave_link::instance ()->terminate_octave ();
224
225 QMainWindow::closeEvent (closeEvent);
226 */
227 }
228 220
229 void 221 void
230 main_window::read_settings () 222 main_window::read_settings ()
231 { 223 {
232 QSettings *settings = resource_manager::instance ()->get_settings (); 224 QSettings *settings = resource_manager::instance ()->get_settings ();