diff libgui/src/octave-gui.cc @ 18611:086093fbdc1a gui-release

first implementation of a shortcut manager (bug #41217) * file-editor.cc (set_shortcuts): use shortcut-manager to set some shortcuts * main_window.cc (set_global_shortcuts): use shortcut-manager to set some shortcuts; (construct_file_menu): all actions as class variables; (construct_edit_menu): all actions as class variables; * main_window.h: actions as class variables * module.mk: new files shortcut_manager.cc, shortcut_manager.h * octave-gui.cc (octave_start_gui): initialize the shortcut_manager * settings-dialog.cc (constructor): call shortcut-manager for shortcut table (write_changed_settings): call shortcut-manager for writing shortcuts * settings-dialog.ui: new tab with a tree widget for the shortcuts * shortcut_manager.cc (constructor, destructor): new class; (instance_ok): checks if instance is valid, creates a new one otherwise; (do_init_data): initialize the list with all shortcut's data; (init): internal function for initializing the data list; (do_fill_treewidget): fills the tree widget in the settings dialog; (do_write_shortcuts): writes shortcuts from settings dialog into file; (do_set_shortcut): setting the shortcut for an action; (handle_double_clicked): slot for double clicking into the tree widget; (shortcut_dialog): dialog for entering a new shortcut; (shortcut_dialog_finished): processing the dialog's result; (shortcut_dialog_set_default): setting the shortcut to it's default; (enter_shortcut::enter_shortcut): new class derived from QLineEdit; (enter_shortcut::handle_direct_shortcut): switch between normal editing and directly entering a shortcut; (enter_shortcut::keyPressEvent): event handler filtering the shortcuts; * shortcut_manager.h (init_data): static function calling do_init_data; (write_shortcuts): static function calling do_write_shortcuts; (fill_treewidget): static function calling do_fill_treewidget; (set_shortcut): static function calling do_set_shortcut;
author Torsten <ttl@justmail.de>
date Tue, 01 Apr 2014 21:29:48 +0200
parents ebd063b7b1c6
children f1b91e3137b9
line wrap: on
line diff
--- a/libgui/src/octave-gui.cc	Thu Mar 06 03:56:59 2014 +0500
+++ b/libgui/src/octave-gui.cc	Tue Apr 01 21:29:48 2014 +0200
@@ -48,6 +48,7 @@
 
 #include "welcome-wizard.h"
 #include "resource-manager.h"
+#include "shortcut-manager.h"
 #include "main-window.h"
 #include "octave-gui.h"
 #include "thread-manager.h"
@@ -192,6 +193,9 @@
         octave_env::putenv ("TERM", "cygwin");
 #endif
 
+      // shortcut manager
+      shortcut_manager::init_data ();
+
       // Create and show main window.
 
       main_window w;