Mercurial > octave-libgccjit
diff libgui/src/m-editor/file-editor.cc @ 17635:7945344506ae
Add possibility to run selected text of the editor in the terminal
* octave-qscintilla.cc(contextMenuEvent): new context menu for running selection
(context_run): function for run selection action in editor file menu;
(contextmenu_run): new slot for context menu run selection;
* octave-qscintilla.h: new functions context_run, contextmenu_run
* file-editor-tab.cc(context_run): new slot for run menu action
* file-editor-tab.h: new slot context_run
* file-editor.cc(request_context_run): new slot for run menu entry;
(construct): new entry in run menu for running the selection in editor
(add_file_editor_tab): connect new signal fetab_context_run to the new
slot context_run in file_editor_tab;
(set_shortcuts): enable/disable new shortcut when editor focus changes
(check_actions): enable/disable new action depending on existing tabs
* file-editor.h: new signal fetab_context_run, new slot request_context_edit,
new run action
author | Torsten <ttl@justmail.de> |
---|---|
date | Fri, 11 Oct 2013 22:46:32 +0200 |
parents | 99ffa521ecec |
children | 230ffaf80ac9 |
line wrap: on
line diff
--- a/libgui/src/m-editor/file-editor.cc Fri Oct 11 13:58:23 2013 -0400 +++ b/libgui/src/m-editor/file-editor.cc Fri Oct 11 22:46:32 2013 +0200 @@ -509,6 +509,12 @@ } void +file_editor::request_context_run (bool) +{ + emit fetab_context_run (_tab_widget->currentWidget ()); +} + +void file_editor::request_toggle_bookmark (void) { emit fetab_toggle_bookmark (_tab_widget->currentWidget ()); @@ -945,6 +951,9 @@ QMenu *_run_menu = new QMenu (tr ("&Run"), _menu_bar); _run_menu->addAction (_run_action); + _context_run_action = + _run_menu->addAction (QIcon (), tr ("Run &Selection"), + this, SLOT (request_context_run (bool))); _menu_bar->addMenu (_run_menu); QMenu *_help_menu = new QMenu (tr ("&Help"), _menu_bar); @@ -1154,6 +1163,9 @@ connect (this, SIGNAL (fetab_run_file (const QWidget*)), f, SLOT (run_file (const QWidget*))); + connect (this, SIGNAL (fetab_context_run (const QWidget*)), + f, SLOT (context_run (const QWidget*))); + connect (this, SIGNAL (fetab_toggle_bookmark (const QWidget*)), f, SLOT (toggle_bookmark (const QWidget*))); @@ -1252,6 +1264,7 @@ _print_action->setShortcut (QKeySequence::Print); _run_action->setShortcut (Qt::ControlModifier+ Qt::Key_R); + _context_run_action->setShortcut (Qt::Key_F9); _context_edit_action->setShortcut (Qt::ControlModifier + Qt::Key_E); _save_action->setShortcut (QKeySequence::Save); @@ -1282,6 +1295,7 @@ _print_action->setShortcut (no_key); _run_action->setShortcut (no_key); + _context_run_action->setShortcut (no_key); _context_edit_action->setShortcut (no_key); _save_action->setShortcut (no_key); @@ -1316,6 +1330,7 @@ _print_action->setEnabled (have_tabs); _run_action->setEnabled (have_tabs); + _context_run_action->setEnabled (have_tabs); _context_edit_action->setEnabled (have_tabs); _save_action->setEnabled (have_tabs);