Mercurial > octave-libgccjit
diff libgui/src/shortcut-manager.cc @ 18665:777281eeb3d4 gui-release
add all editor actions to the shortcut manager and fix their shortcut context
* file_editor_interface.h: new virtual function insert_new_open_actions
* file-editor.cc (request_undo, request_redo, request_copy, request_cut,
request_paste, request_selectall, request_save_file, request_save_file_as,
request_print_file, request_run_file, request_toggle_bookmark,
request_next_bookmark, request_previous_bookmark, request_remove_bookmark,
request_toggle_breakpoint, request_next_breakpoint,
request_previous_breakpoint, request_remove_breakpoint,
request_comment_selected_text, request_uncomment_selected_text,
request_indent_selected_text, request_unindent_selected_text, request_find,
request_goto_line, request_completion) : change slot parameter
from void to bool;
(handle_editor_state_changed): renamed context_run_action;
(notice_settings): call set_shortcuts without parameter;
(insert_new_open_actions): new function called from main window for addings
global action (new, open) to the editors file menu;
(add_action): new function for adding a new action to a menu, connecting the
slot, adding the action to the editor, and setting the shortcut context;
(construct): make all actions class variables, add actions with add_actions,
removing obsolete calls to QAction (), to setShortcutContext (), and to
connect (), new submenu for navigation actions;
(copyClipboard, pasteClipboard, selectAll): use slots with bool parameter;
(set_shortcuts): remove the parameter of this function, it is now only
called when the shortcut settings were changed and not when the terminal
changes focus;
(check_actions): enable/disable whole submenus instead of singe actions
* file-editor.h: new function insert_new_open_actions, slots with bool
parameter instead void, class variables for all actions, new submenus,
set_shortcuts without parameter
* main-window.cc (construct): do not connect the signal for setting shortcuts
depending on terminal focus to the editor, insert new and open file actions
into the editor file menu
* main-window.h: remove the signal for settings other widgets shortcuts
* shortcut-manager.cc (do_init_data): add more actions to the list
author | Torsten <ttl@justmail.de> |
---|---|
date | Wed, 23 Apr 2014 08:42:19 +0200 |
parents | 1b289f45187f |
children | 6113e0c6920b 03edfcd943db |
line wrap: on
line diff
--- a/libgui/src/shortcut-manager.cc Fri Apr 18 15:04:39 2014 -0400 +++ b/libgui/src/shortcut-manager.cc Wed Apr 23 08:42:19 2014 +0200 @@ -80,6 +80,8 @@ shortcut_manager::do_init_data () { // actions of the main window + + // file init (tr ("New File"), "main_file:new_file", QKeySequence::New ); init (tr ("New Function"), "main_file:new_function", QKeySequence ("Ctrl+Shift+N") ); init (tr ("New Figure"), "main_file:new_figure", QKeySequence () ); @@ -89,6 +91,7 @@ init (tr ("Preferences"), "main_file:preferences", QKeySequence () ); init (tr ("Exit Octave"), "main_file:exit", QKeySequence::Quit ); + // edit init (tr ("Copy"), "main_edit:copy", QKeySequence::Copy); init (tr ("Paste"), "main_edit:paste", QKeySequence::Paste); init (tr ("Undo"), "main_edit:undo", QKeySequence::Undo); @@ -100,6 +103,8 @@ init (tr ("Clear Workspace"), "main_edit:clear_workspace", QKeySequence () ); // actions of the editor + + // file init (tr ("Edit Function"), "editor_file:edit_function", QKeySequence (Qt::ControlModifier + Qt::Key_E) ); init (tr ("Save File"), "editor_file:save", QKeySequence::Save ); init (tr ("Save File As"), "editor_file:save_as", QKeySequence::SaveAs ); @@ -108,6 +113,7 @@ init (tr ("Close Other"), "editor_file:close_other", QKeySequence () ); init (tr ("Print"), "editor_file:print", QKeySequence::Print ); + // edit init (tr ("Undo"), "editor_edit:undo", QKeySequence::Undo ); init (tr ("Redo"), "editor_edit:redo", QKeySequence::Redo ); init (tr ("Copy"), "editor_edit:copy", QKeySequence::Copy ); @@ -125,6 +131,7 @@ init (tr ("Cut Line"), "editor_edit:cut_line", QKeySequence (Qt::ControlModifier + Qt::SHIFT + Qt::Key_X) ); init (tr ("Duplicate Selection/Line"), "editor_edit:duplicate_selection", QKeySequence (Qt::ControlModifier + Qt::Key_D) ); init (tr ("Transpose Line"), "editor_edit:transpose_line", QKeySequence (Qt::ControlModifier + Qt::Key_T) ); + init (tr ("Completion List"), "editor_edit:completion_list", QKeySequence (Qt::ControlModifier + Qt::Key_Space) ); init (tr ("Comment Selection"), "editor_edit:comment_selection", QKeySequence (Qt::ControlModifier + Qt::Key_R) ); init (tr ("Uncomment Selection"), "editor_edit:uncomment_selection", QKeySequence (Qt::SHIFT + Qt::ControlModifier + Qt::Key_R) ); @@ -133,14 +140,33 @@ init (tr ("Indent Selection"), "editor_edit:indent_selection", QKeySequence (Qt::ControlModifier + Qt::Key_Tab) ); init (tr ("Unindent Selection"), "editor_edit:unindent_selection", QKeySequence (Qt::SHIFT + Qt::ControlModifier + Qt::Key_Tab) ); - init (tr ("Completion List"), "editor_edit:completion_list", QKeySequence (Qt::ControlModifier + Qt::Key_Space) ); + init (tr ("Goto Line"), "editor_edit:goto_line", QKeySequence (Qt::ControlModifier+ Qt::Key_G) ); init (tr ("Toggle Bookmark"), "editor_edit:toggle_bookmark", QKeySequence (Qt::Key_F7) ); init (tr ("Next Bookmark"), "editor_edit:next_bookmark", QKeySequence (Qt::Key_F2) ); init (tr ("Previous Bookmark"), "editor_edit:previous_bookmark", QKeySequence (Qt::SHIFT + Qt::Key_F2) ); init (tr ("Remove All Bookmark"), "editor_edit:remove_bookmark", QKeySequence () ); - init (tr ("Goto Line"), "editor_edit:goto_line", QKeySequence (Qt::ControlModifier+ Qt::Key_G) ); + init (tr ("Preferences"), "editor_edit:preferences", QKeySequence () ); init (tr ("Styles Preferences"), "editor_edit:styles_preferences", QKeySequence () ); + + // view + init (tr ("Zoom In"), "editor_view:zoom_in", QKeySequence::ZoomIn ); + init (tr ("Zoom Out"), "editor_view:zoom_out", QKeySequence::ZoomOut ); + init (tr ("Zoom Normal"), "editor_view:zoom_normal", QKeySequence (Qt::ControlModifier + Qt::Key_Slash) ); + + // debug + init (tr ("Toggle Breakpoint"), "editor_debug:toggle_breakpoint", QKeySequence () ); + init (tr ("Next Breakpoint"), "editor_debug:next_breakpoint", QKeySequence () ); + init (tr ("Previous Breakpoint"), "editor_debug:previous_breakpoint", QKeySequence () ); + init (tr ("Remove All Breakpoints"), "editor_debug:remove_breakpoints", QKeySequence () ); + + // run + init (tr ("Run File"), "editor_run:run_file", QKeySequence (Qt::Key_F5) ); + init (tr ("Run Selection"), "editor_run:run_selection", QKeySequence (Qt::Key_F9) ); + + // help + init (tr ("Help on Keyword"), "editor_help:help_keyword", QKeySequence::HelpContents ); + init (tr ("Document on Keyword"), "editor_help:doc_keyword", QKeySequence (Qt::SHIFT + Qt::Key_F1) ); } void