Mercurial > octave-nkf
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 (); |