Mercurial > octave-nkf
diff libgui/src/m-editor/file-editor.cc @ 16638:3c2e457eeb72
ask for saving modified editor files if octave is closed (bug #38689)
* files-editor-tab.cc(constrctor): init new flag indicating if app is closing,
(check_file_modified): message box is modal if app is closing, no cancel,
parent of box is the editor's tab widget for a correct palcement of the box,
(conditional_close): new second arg: flag for closing app (default false),
it is stored in the tab's class wide flag
* file-editor-tab.h: second arg for conditional_close and new class wide flag
* file-editor.cc(destructor): sending close requests to all editor tabs with
flag indicating the application is closing
(add_file_editor_tab): new arg for fetab_close_request and conditional_close
* file-editor.h: new 2nd arg for fetab_close_request (closing app, def. false)
* main-window.cc(destructor): delete editor window first for showing the message
boxes for modified editor files in front of a complete gui
author | Torsten <ttl@justmail.de> |
---|---|
date | Sat, 11 May 2013 18:20:31 +0200 |
parents | b3f4bdd7e5f4 |
children | c6c4847aaf67 |
line wrap: on
line diff
--- a/libgui/src/m-editor/file-editor.cc Sat May 11 14:01:15 2013 +0200 +++ b/libgui/src/m-editor/file-editor.cc Sat May 11 18:20:31 2013 +0200 @@ -72,6 +72,9 @@ settings->setValue ("editor/savedSessionTabs", fetFileNames); settings->sync (); + for (int index = _tab_widget->count ()-1; index >= 0; index--) + emit fetab_close_request (_tab_widget->widget (index),true); // true: app closing + if (_mru_file_menu) delete _mru_file_menu; } @@ -1083,8 +1086,8 @@ connect (this, SIGNAL (fetab_settings_changed (const QSettings *)), f, SLOT (notice_settings (const QSettings *))); - connect (this, SIGNAL (fetab_close_request (const QWidget*)), - f, SLOT (conditional_close (const QWidget*))); + connect (this, SIGNAL (fetab_close_request (const QWidget*,bool)), + f, SLOT (conditional_close (const QWidget*,bool))); connect (this, SIGNAL (fetab_change_request (const QWidget*)), f, SLOT (change_editor_state (const QWidget*)));