diff libgui/src/m-editor/file-editor.h @ 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 86eca5d178a6
line wrap: on
line diff
--- a/libgui/src/m-editor/file-editor.h	Fri Apr 18 15:04:39 2014 -0400
+++ b/libgui/src/m-editor/file-editor.h	Wed Apr 23 08:42:19 2014 +0200
@@ -29,6 +29,7 @@
 #include <QStatusBar>
 #include <QCloseEvent>
 #include <QTabWidget>
+#include <QStackedWidget>
 
 #include <QDragEnterEvent>
 #include <QDropEvent>
@@ -55,6 +56,7 @@
   QMenu *get_mru_menu (void) { return _mru_file_menu; }
   QMenu *debug_menu (void);
   QToolBar *toolbar (void);
+  void insert_new_open_actions (QAction*,QAction*,QAction*);
 
   void set_focus (void);
   void handle_enter_debug_mode (void);
@@ -128,30 +130,30 @@
   void request_close_all_files (bool);
   void request_close_other_files (bool);
   void request_mru_open_file (QAction *action);
-  void request_print_file (void);
+  void request_print_file (bool);
 
-  void request_undo (void);
-  void request_redo (void);
-  void request_copy (void);
-  void request_cut (void);
-  void request_paste (void);
-  void request_selectall (void);
+  void request_undo (bool);
+  void request_redo (bool);
+  void request_copy (bool);
+  void request_cut (bool);
+  void request_paste (bool);
+  void request_selectall (bool);
   void request_context_help (bool);
   void request_context_doc (bool);
   void request_context_edit (bool);
-  void request_save_file (void);
-  void request_save_file_as (void);
-  void request_run_file (void);
+  void request_save_file (bool);
+  void request_save_file_as (bool);
+  void request_run_file (bool);
   void request_context_run (bool);
-  void request_toggle_bookmark (void);
-  void request_next_bookmark (void);
-  void request_previous_bookmark (void);
-  void request_remove_bookmark (void);
+  void request_toggle_bookmark (bool);
+  void request_next_bookmark (bool);
+  void request_previous_bookmark (bool);
+  void request_remove_bookmark (bool);
 
-  void request_toggle_breakpoint (void);
-  void request_next_breakpoint (void);
-  void request_previous_breakpoint (void);
-  void request_remove_breakpoint (void);
+  void request_toggle_breakpoint (bool);
+  void request_next_breakpoint (bool);
+  void request_previous_breakpoint (bool);
+  void request_remove_breakpoint (bool);
 
   void request_delete_start_word (bool);
   void request_delete_end_word (bool);
@@ -163,18 +165,18 @@
   void request_duplicate_selection (bool);
   void request_transpose_line (bool);
 
-  void request_comment_selected_text (void);
-  void request_uncomment_selected_text (void);
+  void request_comment_selected_text (bool);
+  void request_uncomment_selected_text (bool);
 
   void request_upper_case (bool);
   void request_lower_case (bool);
-  void request_indent_selected_text (void);
-  void request_unindent_selected_text (void);
+  void request_indent_selected_text (bool);
+  void request_unindent_selected_text (bool);
 
-  void request_find (void);
+  void request_find (bool);
 
-  void request_goto_line (void);
-  void request_completion (void);
+  void request_goto_line (bool);
+  void request_completion (bool);
 
   void handle_file_name_changed (const QString& fileName,
                                  const QString& toolTip);
@@ -196,8 +198,7 @@
   // Tells the editor to react on changed settings.
   void notice_settings (const QSettings *settings);
 
-  // Tells the ditor to dis- or enable some shortcuts
-  void set_shortcuts (bool set_shortcuts);
+  void set_shortcuts ();
 
   void handle_visibility (bool visible);
 
@@ -236,6 +237,8 @@
   bool call_custom_editor (const QString& file_name = QString (), int line = -1);
 
   QWidget *find_tab_widget (const QString& openFileName) const;
+  QAction *add_action (QMenu *menu, const QIcon &icon, const QString &text,
+                       const char *member);
 
   std::map<QString, QWidget *> editor_tab_map;
 
@@ -245,6 +248,10 @@
   QToolBar *_tool_bar;
   QMenu *_debug_menu;
 
+  QAction *_new_action;
+  QAction *_new_function_action;
+  QAction *_open_action;
+
   QAction *_upper_case_action;
   QAction *_lower_case_action;
   QAction *_comment_selection_action;
@@ -284,9 +291,9 @@
 
   QAction *_print_action;
   QAction *_run_action;
-  QAction *_context_run_action;
+  QAction *_run_selection_action;
 
-  QAction *_context_edit_action;
+  QAction *_edit_function_action;
   QAction *_save_action;
   QAction *_save_as_action;
   QAction *_close_action;
@@ -299,8 +306,15 @@
   QAction *_preferences_action;
   QAction *_styles_preferences_action;
 
+  QAction *_toggle_breakpoint_action;
+  QAction *_next_breakpoint_action;
+  QAction *_previous_breakpoint_action;
+  QAction *_remove_all_breakpoints_action;
+
   QMenu *_edit_cmd_menu;
   QMenu *_edit_fmt_menu;
+  QMenu *_edit_nav_menu;
+  QMenu *_fileMenu;
 
   QTabWidget *_tab_widget;