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