Mercurial > octave-nkf
diff libgui/src/m-editor/file-editor.cc @ 15993:41471c02d51c
gui: show menu with recently used editor files also in file menu of main window
* file-editor-interface.h: new function get_mru_menu ()
* file-editor.h: new function get_mru_menu (), _mru_file_menu global
* file-editor.cc (destructor): delete _mru_file_menu
* file-editor.cc (set_focus): make editor visible before setting focus here
* main-window.cc (focus_editor): and not here
* file-editor.cc (request_new_file,request_open_file): set editor focus here
* main-window.cc (new_file,open_file): and not here
* main-window.cc (construct): add the editor's mru menu to the file menu
author | Torsten <ttl@justmail.de> |
---|---|
date | Sat, 02 Feb 2013 13:21:44 +0100 |
parents | 1eb3c67139f6 |
children | c3057d80cf91 |
line wrap: on
line diff
--- a/libgui/src/m-editor/file-editor.cc Sat Feb 02 09:17:26 2013 +0100 +++ b/libgui/src/m-editor/file-editor.cc Sat Feb 02 13:21:44 2013 +0100 @@ -62,12 +62,17 @@ } settings->setValue ("editor/savedSessionTabs", fetFileNames); settings->sync (); + + if (_mru_file_menu) + delete _mru_file_menu; } // set focus to editor and its current tab void file_editor::set_focus () { + if (!isVisible ()) + setVisible (true); setFocus (); activateWindow (); raise (); @@ -112,6 +117,7 @@ { add_file_editor_tab (fileEditorTab, ""); // new tab with empty title fileEditorTab->new_file (); // title is updated here + set_focus (); // focus editor and new tab } } @@ -202,6 +208,7 @@ msgBox->show (); } } + set_focus (); // really show editor and the current editor tab } } @@ -644,12 +651,12 @@ fileMenu->addAction (save_action); fileMenu->addAction (save_as_action); fileMenu->addSeparator (); - QMenu *mru_file_menu = new QMenu (tr ("Open &Recent"), fileMenu); + _mru_file_menu = new QMenu (tr ("&Recent Editor Files"), fileMenu); for (int i = 0; i < MaxMRUFiles; ++i) { - mru_file_menu->addAction (_mru_file_actions[i]); + _mru_file_menu->addAction (_mru_file_actions[i]); } - fileMenu->addMenu (mru_file_menu); + fileMenu->addMenu (_mru_file_menu); _menu_bar->addMenu (fileMenu); QMenu *editMenu = new QMenu (tr ("&Edit"), _menu_bar);