Mercurial > octave
changeset 31692:2422fb7f1e6c
move shortcut setting functions to gui_settings from shortcut_manager
* gui-settings.h, gui-settings.cc (gui_settings::set_shortcut,
gui_settings::shortcut): Move here from shortcut-manager.h and
shortcut-manager.cc.
* documentation-bookmarks.cc, documentation.cc, dw-main-window.cc,
file-editor.cc, octave-qscintilla.cc, main-window.cc,
octave-dock-widget.cc, variable-editor.cc: Change all uses of
set_shortcut and shortcut. Only include shortcut-manager.h where
necessary.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sun, 25 Dec 2022 12:46:53 -0500 |
parents | fc3bc1402b0d |
children | 88119be1f926 |
files | libgui/src/documentation-bookmarks.cc libgui/src/documentation.cc libgui/src/dw-main-window.cc libgui/src/gui-settings.cc libgui/src/gui-settings.h libgui/src/m-editor/file-editor.cc libgui/src/m-editor/octave-qscintilla.cc libgui/src/main-window.cc libgui/src/octave-dock-widget.cc libgui/src/shortcut-manager.cc libgui/src/shortcut-manager.h libgui/src/variable-editor.cc |
diffstat | 12 files changed, 185 insertions(+), 196 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/documentation-bookmarks.cc Sat Dec 24 14:54:52 2022 -0500 +++ b/libgui/src/documentation-bookmarks.cc Sun Dec 25 12:46:53 2022 -0500 @@ -30,9 +30,10 @@ #include <QCompleter> #include <QDir> #include <QFileInfo> +#include <QLabel> +#include <QLineEdit> #include <QMenu> #include <QMessageBox> -#include <QShortcut> #include <QVBoxLayout> #include <QWidget> @@ -44,7 +45,6 @@ #include "gui-preferences-sc.h" #include "gui-settings.h" #include "octave-qtutils.h" -#include "shortcut-manager.h" #include "defaults.h" #include "file-ops.h"
--- a/libgui/src/documentation.cc Sat Dec 24 14:54:52 2022 -0500 +++ b/libgui/src/documentation.cc Sun Dec 25 12:46:53 2022 -0500 @@ -58,7 +58,6 @@ #include "gui-preferences-sc.h" #include "gui-settings.h" #include "octave-qobject.h" -#include "shortcut-manager.h" #include "defaults.h" #include "file-ops.h" @@ -624,18 +623,16 @@ m_tool_bar->setIconSize (QSize (icon_size, icon_size)); // Shortcuts - shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager (); - - scmgr.set_shortcut (m_action_find, sc_edit_edit_find_replace); - scmgr.shortcut (m_findnext_shortcut, sc_edit_edit_find_next); - scmgr.shortcut (m_findprev_shortcut, sc_edit_edit_find_previous); - scmgr.set_shortcut (m_action_zoom_in, sc_edit_view_zoom_in); - scmgr.set_shortcut (m_action_zoom_out, sc_edit_view_zoom_out); - scmgr.set_shortcut (m_action_zoom_original, sc_edit_view_zoom_normal); - scmgr.set_shortcut (m_action_go_home, sc_doc_go_home); - scmgr.set_shortcut (m_action_go_prev, sc_doc_go_back); - scmgr.set_shortcut (m_action_go_next, sc_doc_go_next); - scmgr.set_shortcut (m_action_bookmark, sc_doc_bookmark); + settings.set_shortcut (m_action_find, sc_edit_edit_find_replace); + settings.shortcut (m_findnext_shortcut, sc_edit_edit_find_next); + settings.shortcut (m_findprev_shortcut, sc_edit_edit_find_previous); + settings.set_shortcut (m_action_zoom_in, sc_edit_view_zoom_in); + settings.set_shortcut (m_action_zoom_out, sc_edit_view_zoom_out); + settings.set_shortcut (m_action_zoom_original, sc_edit_view_zoom_normal); + settings.set_shortcut (m_action_go_home, sc_doc_go_home); + settings.set_shortcut (m_action_go_prev, sc_doc_go_back); + settings.set_shortcut (m_action_go_next, sc_doc_go_next); + settings.set_shortcut (m_action_bookmark, sc_doc_bookmark); // Settings for the browser m_doc_browser->notice_settings ();
--- a/libgui/src/dw-main-window.cc Sat Dec 24 14:54:52 2022 -0500 +++ b/libgui/src/dw-main-window.cc Sun Dec 25 12:46:53 2022 -0500 @@ -39,7 +39,6 @@ #include "gui-preferences-sc.h" #include "gui-settings.h" #include "octave-qobject.h" -#include "shortcut-manager.h" OCTAVE_BEGIN_NAMESPACE(octave) @@ -130,14 +129,14 @@ // Update the settings void dw_main_window::notice_settings (void) { - shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager (); + gui_settings settings; - scmgr.set_shortcut (m_close_action, sc_edit_file_close); - scmgr.set_shortcut (m_close_all_action, sc_edit_file_close_all); - scmgr.set_shortcut (m_close_others_action, sc_edit_file_close_other); + settings.set_shortcut (m_close_action, sc_edit_file_close); + settings.set_shortcut (m_close_all_action, sc_edit_file_close_all); + settings.set_shortcut (m_close_others_action, sc_edit_file_close_other); - scmgr.set_shortcut (m_switch_left_action, sc_edit_tabs_switch_left_tab); - scmgr.set_shortcut (m_switch_right_action, sc_edit_tabs_switch_right_tab); + settings.set_shortcut (m_switch_left_action, sc_edit_tabs_switch_left_tab); + settings.set_shortcut (m_switch_right_action, sc_edit_tabs_switch_right_tab); } // Slots for handling actions
--- a/libgui/src/gui-settings.cc Sat Dec 24 14:54:52 2022 -0500 +++ b/libgui/src/gui-settings.cc Sun Dec 25 12:46:53 2022 -0500 @@ -29,7 +29,9 @@ #include <cmath> +#include <QAction> #include <QApplication> +#include <QDebug> #include <QFile> #include <QFileInfo> #include <QFontDatabase> @@ -37,6 +39,7 @@ #include <QMessageBox> #include <QNetworkProxy> #include <QSettings> +#include <QShortcut> #include <QString> #include <QStringList> @@ -137,6 +140,34 @@ return key_seq; } + void gui_settings::set_shortcut (QAction *action, const sc_pref& scpref, + bool enable) + { + if (! enable) + { + // Disable => remove existing shortcut from the action + action->setShortcut (QKeySequence ()); + return; + } + + QString shortcut = sc_value (scpref); + + if (! shortcut.isEmpty ()) + action->setShortcut (QKeySequence (shortcut)); + else + qDebug () << "Key: " << scpref.key << " not found in settings"; + } + + void gui_settings::shortcut (QShortcut *sc, const sc_pref& scpref) + { + QString shortcut = sc_value (scpref); + + if (! shortcut.isEmpty ()) + sc->setKey (QKeySequence (shortcut)); + else + qDebug () << "Key: " << scpref.key << " not found in settings"; + } + void gui_settings::config_icon_theme (void) { int theme_index;
--- a/libgui/src/gui-settings.h Sat Dec 24 14:54:52 2022 -0500 +++ b/libgui/src/gui-settings.h Sun Dec 25 12:46:53 2022 -0500 @@ -28,7 +28,6 @@ #include <QComboBox> #include <QIcon> -#include <QString> #include <QSettings> #include <QShortcut> #include <QString> @@ -139,6 +138,11 @@ QKeySequence sc_def_value (const sc_pref& pref) const; + void set_shortcut (QAction *action, const sc_pref& scpref, + bool enable = true); + + void shortcut (QShortcut *sc, const sc_pref& scpref); + // config_icon_theme, icon, get_default_font_family, // get_default_font, and possibly reload and check could be global // functions instead of member functions. But at least for the icon
--- a/libgui/src/m-editor/file-editor.cc Sat Dec 24 14:54:52 2022 -0500 +++ b/libgui/src/m-editor/file-editor.cc Sun Dec 25 12:46:53 2022 -0500 @@ -54,7 +54,6 @@ #include "main-window.h" #include "octave-qobject.h" #include "octave-qtutils.h" -#include "shortcut-manager.h" #include "oct-env.h" @@ -196,8 +195,8 @@ void file_editor::handle_exit_debug_mode (void) { - shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager (); - scmgr.set_shortcut (m_run_action, sc_edit_run_run_file); + gui_settings settings; + settings.set_shortcut (m_run_action, sc_edit_run_run_file); m_run_action->setToolTip (tr ("Save File and Run")); // update tool tip emit exit_debug_mode_signal (); @@ -1387,91 +1386,90 @@ // Shortcuts also available in the main window, as well as the related // shortcuts, are defined in main_window and added to the editor - shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager (); + gui_settings settings; // File menu - scmgr.set_shortcut (m_edit_function_action, sc_edit_file_edit_function); - scmgr.set_shortcut (m_save_action, sc_edit_file_save); - scmgr.set_shortcut (m_save_as_action, sc_edit_file_save_as); - scmgr.set_shortcut (m_close_action, sc_edit_file_close); - scmgr.set_shortcut (m_close_all_action, sc_edit_file_close_all); - scmgr.set_shortcut (m_close_others_action, sc_edit_file_close_other); - scmgr.set_shortcut (m_print_action, sc_edit_file_print); + settings.set_shortcut (m_edit_function_action, sc_edit_file_edit_function); + settings.set_shortcut (m_save_action, sc_edit_file_save); + settings.set_shortcut (m_save_as_action, sc_edit_file_save_as); + settings.set_shortcut (m_close_action, sc_edit_file_close); + settings.set_shortcut (m_close_all_action, sc_edit_file_close_all); + settings.set_shortcut (m_close_others_action, sc_edit_file_close_other); + settings.set_shortcut (m_print_action, sc_edit_file_print); // Edit menu - scmgr.set_shortcut (m_redo_action, sc_edit_edit_redo); - scmgr.set_shortcut (m_cut_action, sc_edit_edit_cut); - scmgr.set_shortcut (m_find_action, sc_edit_edit_find_replace); - scmgr.set_shortcut (m_find_next_action, sc_edit_edit_find_next); - scmgr.set_shortcut (m_find_previous_action, sc_edit_edit_find_previous); - - scmgr.set_shortcut (m_delete_start_word_action, sc_edit_edit_delete_start_word); - scmgr.set_shortcut (m_delete_end_word_action, sc_edit_edit_delete_end_word); - scmgr.set_shortcut (m_delete_start_line_action, sc_edit_edit_delete_start_line); - scmgr.set_shortcut (m_delete_end_line_action, sc_edit_edit_delete_end_line); - scmgr.set_shortcut (m_delete_line_action, sc_edit_edit_delete_line); - scmgr.set_shortcut (m_copy_line_action, sc_edit_edit_copy_line); - scmgr.set_shortcut (m_cut_line_action, sc_edit_edit_cut_line); - scmgr.set_shortcut (m_duplicate_selection_action, sc_edit_edit_duplicate_selection); - scmgr.set_shortcut (m_transpose_line_action, sc_edit_edit_transpose_line); - scmgr.set_shortcut (m_comment_selection_action, sc_edit_edit_comment_selection); - scmgr.set_shortcut (m_uncomment_selection_action, sc_edit_edit_uncomment_selection); - scmgr.set_shortcut (m_comment_var_selection_action, sc_edit_edit_comment_var_selection); - - scmgr.set_shortcut (m_upper_case_action, sc_edit_edit_upper_case); - scmgr.set_shortcut (m_lower_case_action, sc_edit_edit_lower_case); - scmgr.set_shortcut (m_indent_selection_action, sc_edit_edit_indent_selection); - scmgr.set_shortcut (m_unindent_selection_action, sc_edit_edit_unindent_selection); - scmgr.set_shortcut (m_smart_indent_line_or_selection_action, sc_edit_edit_smart_indent_line_or_selection); - scmgr.set_shortcut (m_completion_action, sc_edit_edit_completion_list); - scmgr.set_shortcut (m_goto_line_action, sc_edit_edit_goto_line); - scmgr.set_shortcut (m_move_to_matching_brace, sc_edit_edit_move_to_brace); - scmgr.set_shortcut (m_sel_to_matching_brace, sc_edit_edit_select_to_brace); - scmgr.set_shortcut (m_toggle_bookmark_action, sc_edit_edit_toggle_bookmark); - scmgr.set_shortcut (m_next_bookmark_action, sc_edit_edit_next_bookmark); - scmgr.set_shortcut (m_previous_bookmark_action, sc_edit_edit_previous_bookmark); - scmgr.set_shortcut (m_remove_bookmark_action, sc_edit_edit_remove_bookmark); - scmgr.set_shortcut (m_preferences_action, sc_edit_edit_preferences); - scmgr.set_shortcut (m_styles_preferences_action, sc_edit_edit_styles_preferences); - - scmgr.set_shortcut (m_conv_eol_windows_action, sc_edit_edit_conv_eol_winows); - scmgr.set_shortcut (m_conv_eol_unix_action, sc_edit_edit_conv_eol_unix); - scmgr.set_shortcut (m_conv_eol_mac_action, sc_edit_edit_conv_eol_mac); + settings.set_shortcut (m_redo_action, sc_edit_edit_redo); + settings.set_shortcut (m_cut_action, sc_edit_edit_cut); + settings.set_shortcut (m_find_action, sc_edit_edit_find_replace); + settings.set_shortcut (m_find_next_action, sc_edit_edit_find_next); + settings.set_shortcut (m_find_previous_action, sc_edit_edit_find_previous); + + settings.set_shortcut (m_delete_start_word_action, sc_edit_edit_delete_start_word); + settings.set_shortcut (m_delete_end_word_action, sc_edit_edit_delete_end_word); + settings.set_shortcut (m_delete_start_line_action, sc_edit_edit_delete_start_line); + settings.set_shortcut (m_delete_end_line_action, sc_edit_edit_delete_end_line); + settings.set_shortcut (m_delete_line_action, sc_edit_edit_delete_line); + settings.set_shortcut (m_copy_line_action, sc_edit_edit_copy_line); + settings.set_shortcut (m_cut_line_action, sc_edit_edit_cut_line); + settings.set_shortcut (m_duplicate_selection_action, sc_edit_edit_duplicate_selection); + settings.set_shortcut (m_transpose_line_action, sc_edit_edit_transpose_line); + settings.set_shortcut (m_comment_selection_action, sc_edit_edit_comment_selection); + settings.set_shortcut (m_uncomment_selection_action, sc_edit_edit_uncomment_selection); + settings.set_shortcut (m_comment_var_selection_action, sc_edit_edit_comment_var_selection); + + settings.set_shortcut (m_upper_case_action, sc_edit_edit_upper_case); + settings.set_shortcut (m_lower_case_action, sc_edit_edit_lower_case); + settings.set_shortcut (m_indent_selection_action, sc_edit_edit_indent_selection); + settings.set_shortcut (m_unindent_selection_action, sc_edit_edit_unindent_selection); + settings.set_shortcut (m_smart_indent_line_or_selection_action, sc_edit_edit_smart_indent_line_or_selection); + settings.set_shortcut (m_completion_action, sc_edit_edit_completion_list); + settings.set_shortcut (m_goto_line_action, sc_edit_edit_goto_line); + settings.set_shortcut (m_move_to_matching_brace, sc_edit_edit_move_to_brace); + settings.set_shortcut (m_sel_to_matching_brace, sc_edit_edit_select_to_brace); + settings.set_shortcut (m_toggle_bookmark_action, sc_edit_edit_toggle_bookmark); + settings.set_shortcut (m_next_bookmark_action, sc_edit_edit_next_bookmark); + settings.set_shortcut (m_previous_bookmark_action, sc_edit_edit_previous_bookmark); + settings.set_shortcut (m_remove_bookmark_action, sc_edit_edit_remove_bookmark); + settings.set_shortcut (m_preferences_action, sc_edit_edit_preferences); + settings.set_shortcut (m_styles_preferences_action, sc_edit_edit_styles_preferences); + + settings.set_shortcut (m_conv_eol_windows_action, sc_edit_edit_conv_eol_winows); + settings.set_shortcut (m_conv_eol_unix_action, sc_edit_edit_conv_eol_unix); + settings.set_shortcut (m_conv_eol_mac_action, sc_edit_edit_conv_eol_mac); // View menu - scmgr.set_shortcut (m_show_linenum_action, sc_edit_view_show_line_numbers); - scmgr.set_shortcut (m_show_whitespace_action, sc_edit_view_show_white_spaces); - scmgr.set_shortcut (m_show_eol_action, sc_edit_view_show_eol_chars); - scmgr.set_shortcut (m_show_indguide_action, sc_edit_view_show_ind_guides); - scmgr.set_shortcut (m_show_longline_action, sc_edit_view_show_long_line); - scmgr.set_shortcut (m_show_toolbar_action, sc_edit_view_show_toolbar); - scmgr.set_shortcut (m_show_statusbar_action, sc_edit_view_show_statusbar); - scmgr.set_shortcut (m_show_hscrollbar_action, sc_edit_view_show_hscrollbar); - scmgr.set_shortcut (m_zoom_in_action, sc_edit_view_zoom_in); - scmgr.set_shortcut (m_zoom_out_action, sc_edit_view_zoom_out); - scmgr.set_shortcut (m_zoom_normal_action, sc_edit_view_zoom_normal); - scmgr.set_shortcut (m_sort_tabs_action, sc_edit_view_sort_tabs); + settings.set_shortcut (m_show_linenum_action, sc_edit_view_show_line_numbers); + settings.set_shortcut (m_show_whitespace_action, sc_edit_view_show_white_spaces); + settings.set_shortcut (m_show_eol_action, sc_edit_view_show_eol_chars); + settings.set_shortcut (m_show_indguide_action, sc_edit_view_show_ind_guides); + settings.set_shortcut (m_show_longline_action, sc_edit_view_show_long_line); + settings.set_shortcut (m_show_toolbar_action, sc_edit_view_show_toolbar); + settings.set_shortcut (m_show_statusbar_action, sc_edit_view_show_statusbar); + settings.set_shortcut (m_show_hscrollbar_action, sc_edit_view_show_hscrollbar); + settings.set_shortcut (m_zoom_in_action, sc_edit_view_zoom_in); + settings.set_shortcut (m_zoom_out_action, sc_edit_view_zoom_out); + settings.set_shortcut (m_zoom_normal_action, sc_edit_view_zoom_normal); + settings.set_shortcut (m_sort_tabs_action, sc_edit_view_sort_tabs); // Debug menu - scmgr.set_shortcut (m_toggle_breakpoint_action, sc_edit_debug_toggle_breakpoint); - scmgr.set_shortcut (m_next_breakpoint_action, sc_edit_debug_next_breakpoint); - scmgr.set_shortcut (m_previous_breakpoint_action, sc_edit_debug_previous_breakpoint); - scmgr.set_shortcut (m_remove_all_breakpoints_action, sc_edit_debug_remove_breakpoints); + settings.set_shortcut (m_toggle_breakpoint_action, sc_edit_debug_toggle_breakpoint); + settings.set_shortcut (m_next_breakpoint_action, sc_edit_debug_next_breakpoint); + settings.set_shortcut (m_previous_breakpoint_action, sc_edit_debug_previous_breakpoint); + settings.set_shortcut (m_remove_all_breakpoints_action, sc_edit_debug_remove_breakpoints); // Run menu - scmgr.set_shortcut (m_run_action, sc_edit_run_run_file); - scmgr.set_shortcut (m_run_selection_action, sc_edit_run_run_selection); + settings.set_shortcut (m_run_action, sc_edit_run_run_file); + settings.set_shortcut (m_run_selection_action, sc_edit_run_run_selection); // Help menu - scmgr.set_shortcut (m_context_help_action, sc_edit_help_help_keyword); - scmgr.set_shortcut (m_context_doc_action, sc_edit_help_doc_keyword); + settings.set_shortcut (m_context_help_action, sc_edit_help_help_keyword); + settings.set_shortcut (m_context_doc_action, sc_edit_help_doc_keyword); // Tab navigation without menu entries - scmgr.set_shortcut (m_switch_left_tab_action, sc_edit_tabs_switch_left_tab); - scmgr.set_shortcut (m_switch_right_tab_action, sc_edit_tabs_switch_right_tab); - scmgr.set_shortcut (m_move_tab_left_action, sc_edit_tabs_move_tab_left); - scmgr.set_shortcut (m_move_tab_right_action, sc_edit_tabs_move_tab_right); - + settings.set_shortcut (m_switch_left_tab_action, sc_edit_tabs_switch_left_tab); + settings.set_shortcut (m_switch_right_tab_action, sc_edit_tabs_switch_right_tab); + settings.set_shortcut (m_move_tab_left_action, sc_edit_tabs_move_tab_left); + settings.set_shortcut (m_move_tab_right_action, sc_edit_tabs_move_tab_right); } // This slot is a reimplementation of the virtual slot in octave_dock_widget.
--- a/libgui/src/m-editor/octave-qscintilla.cc Sat Dec 24 14:54:52 2022 -0500 +++ b/libgui/src/m-editor/octave-qscintilla.cc Sun Dec 25 12:46:53 2022 -0500 @@ -35,7 +35,6 @@ #include <QKeySequence> #include <QMessageBox> #include <QMimeData> -#include <QShortcut> #include <QPointer> #include <QTemporaryFile> #include <QToolTip> @@ -61,7 +60,6 @@ #include "marker.h" #include "octave-qobject.h" #include "octave-qscintilla.h" -#include "shortcut-manager.h" #include "workspace-model.h" #include "builtin-defun-decls.h"
--- a/libgui/src/main-window.cc Sat Dec 24 14:54:52 2022 -0500 +++ b/libgui/src/main-window.cc Sun Dec 25 12:46:53 2022 -0500 @@ -2642,77 +2642,77 @@ void main_window::configure_shortcuts (void) { + gui_settings settings; + bool enable = ! ((m_active_dock == m_command_window) && m_prevent_readline_conflicts); - shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager (); - // file menu - scmgr.set_shortcut (m_open_action, sc_main_file_open_file, enable); - scmgr.set_shortcut (m_new_script_action, sc_main_file_new_file, enable); - scmgr.set_shortcut (m_new_function_action, sc_main_file_new_function, enable); - scmgr.set_shortcut (m_new_figure_action, sc_main_file_new_figure, enable); - scmgr.set_shortcut (m_load_workspace_action, sc_main_file_load_workspace, enable); - scmgr.set_shortcut (m_save_workspace_action, sc_main_file_save_workspace, enable); - scmgr.set_shortcut (m_exit_action, sc_main_file_exit, enable); + settings.set_shortcut (m_open_action, sc_main_file_open_file, enable); + settings.set_shortcut (m_new_script_action, sc_main_file_new_file, enable); + settings.set_shortcut (m_new_function_action, sc_main_file_new_function, enable); + settings.set_shortcut (m_new_figure_action, sc_main_file_new_figure, enable); + settings.set_shortcut (m_load_workspace_action, sc_main_file_load_workspace, enable); + settings.set_shortcut (m_save_workspace_action, sc_main_file_save_workspace, enable); + settings.set_shortcut (m_exit_action, sc_main_file_exit, enable); // edit menu - scmgr.set_shortcut (m_copy_action, sc_main_edit_copy, enable); - scmgr.set_shortcut (m_paste_action, sc_main_edit_paste, enable); - scmgr.set_shortcut (m_undo_action, sc_main_edit_undo, enable); - scmgr.set_shortcut (m_select_all_action, sc_main_edit_select_all, enable); - scmgr.set_shortcut (m_clear_clipboard_action, sc_main_edit_clear_clipboard, enable); - scmgr.set_shortcut (m_find_files_action, sc_main_edit_find_in_files, enable); - scmgr.set_shortcut (m_clear_command_history_action, sc_main_edit_clear_history, enable); - scmgr.set_shortcut (m_clear_command_window_action, sc_main_edit_clear_command_window, enable); - scmgr.set_shortcut (m_clear_workspace_action, sc_main_edit_clear_workspace, enable); - scmgr.set_shortcut (m_set_path_action, sc_main_edit_set_path, enable); - scmgr.set_shortcut (m_preferences_action, sc_main_edit_preferences, enable); + settings.set_shortcut (m_copy_action, sc_main_edit_copy, enable); + settings.set_shortcut (m_paste_action, sc_main_edit_paste, enable); + settings.set_shortcut (m_undo_action, sc_main_edit_undo, enable); + settings.set_shortcut (m_select_all_action, sc_main_edit_select_all, enable); + settings.set_shortcut (m_clear_clipboard_action, sc_main_edit_clear_clipboard, enable); + settings.set_shortcut (m_find_files_action, sc_main_edit_find_in_files, enable); + settings.set_shortcut (m_clear_command_history_action, sc_main_edit_clear_history, enable); + settings.set_shortcut (m_clear_command_window_action, sc_main_edit_clear_command_window, enable); + settings.set_shortcut (m_clear_workspace_action, sc_main_edit_clear_workspace, enable); + settings.set_shortcut (m_set_path_action, sc_main_edit_set_path, enable); + settings.set_shortcut (m_preferences_action, sc_main_edit_preferences, enable); // debug menu - scmgr.set_shortcut (m_debug_step_over, sc_main_debug_step_over, enable); - scmgr.set_shortcut (m_debug_step_into, sc_main_debug_step_into, enable); - scmgr.set_shortcut (m_debug_step_out, sc_main_debug_step_out, enable); - scmgr.set_shortcut (m_debug_continue, sc_main_debug_continue, enable); - scmgr.set_shortcut (m_debug_quit, sc_main_debug_quit, enable); + settings.set_shortcut (m_debug_step_over, sc_main_debug_step_over, enable); + settings.set_shortcut (m_debug_step_into, sc_main_debug_step_into, enable); + settings.set_shortcut (m_debug_step_out, sc_main_debug_step_out, enable); + settings.set_shortcut (m_debug_continue, sc_main_debug_continue, enable); + settings.set_shortcut (m_debug_quit, sc_main_debug_quit, enable); // tools menu - scmgr.set_shortcut (m_profiler_start, sc_main_tools_start_profiler, enable); - scmgr.set_shortcut (m_profiler_resume, sc_main_tools_resume_profiler, enable); - scmgr.set_shortcut (m_profiler_stop, sc_main_tools_start_profiler, enable); // same, toggling - scmgr.set_shortcut (m_profiler_show, sc_main_tools_show_profiler, enable); + settings.set_shortcut (m_profiler_start, sc_main_tools_start_profiler, enable); + settings.set_shortcut (m_profiler_resume, sc_main_tools_resume_profiler, enable); + settings.set_shortcut (m_profiler_stop, sc_main_tools_start_profiler, enable); // same, toggling + settings.set_shortcut (m_profiler_show, sc_main_tools_show_profiler, enable); // window menu - scmgr.set_shortcut (m_show_command_window_action, sc_main_window_show_command, enable); - scmgr.set_shortcut (m_show_history_action, sc_main_window_show_history, enable); - scmgr.set_shortcut (m_show_workspace_action, sc_main_window_show_workspace, enable); - scmgr.set_shortcut (m_show_file_browser_action, sc_main_window_show_file_browser, enable); - scmgr.set_shortcut (m_show_editor_action, sc_main_window_show_editor, enable); - scmgr.set_shortcut (m_show_documentation_action, sc_main_window_show_doc, enable); - scmgr.set_shortcut (m_show_variable_editor_action, sc_main_window_show_variable_editor, enable); - scmgr.set_shortcut (m_reset_windows_action, sc_main_window_reset, enable); - scmgr.set_shortcut (m_command_window_action, sc_main_window_command, enable); + settings.set_shortcut (m_show_command_window_action, sc_main_window_show_command, enable); + settings.set_shortcut (m_show_history_action, sc_main_window_show_history, enable); + settings.set_shortcut (m_show_workspace_action, sc_main_window_show_workspace, enable); + settings.set_shortcut (m_show_file_browser_action, sc_main_window_show_file_browser, enable); + settings.set_shortcut (m_show_editor_action, sc_main_window_show_editor, enable); + settings.set_shortcut (m_show_documentation_action, sc_main_window_show_doc, enable); + settings.set_shortcut (m_show_variable_editor_action, sc_main_window_show_variable_editor, enable); + settings.set_shortcut (m_reset_windows_action, sc_main_window_reset, enable); + settings.set_shortcut (m_command_window_action, sc_main_window_command, enable); // Switching to the other widgets (including the previous one) is always enabled - scmgr.set_shortcut (m_history_action, sc_main_window_history, true); - scmgr.set_shortcut (m_workspace_action, sc_main_window_workspace, true); - scmgr.set_shortcut (m_file_browser_action, sc_main_window_file_browser, true); - scmgr.set_shortcut (m_editor_action, sc_main_window_editor, true); - scmgr.set_shortcut (m_documentation_action, sc_main_window_doc, true); - scmgr.set_shortcut (m_variable_editor_action, sc_main_window_variable_editor, true); - scmgr.set_shortcut (m_previous_dock_action, sc_main_window_previous_dock, true); + settings.set_shortcut (m_history_action, sc_main_window_history, true); + settings.set_shortcut (m_workspace_action, sc_main_window_workspace, true); + settings.set_shortcut (m_file_browser_action, sc_main_window_file_browser, true); + settings.set_shortcut (m_editor_action, sc_main_window_editor, true); + settings.set_shortcut (m_documentation_action, sc_main_window_doc, true); + settings.set_shortcut (m_variable_editor_action, sc_main_window_variable_editor, true); + settings.set_shortcut (m_previous_dock_action, sc_main_window_previous_dock, true); // help menu - scmgr.set_shortcut (m_ondisk_doc_action, sc_main_help_ondisk_doc, enable); - scmgr.set_shortcut (m_online_doc_action, sc_main_help_online_doc, enable); - scmgr.set_shortcut (m_report_bug_action, sc_main_help_report_bug, enable); - scmgr.set_shortcut (m_octave_packages_action, sc_main_help_packages, enable); - scmgr.set_shortcut (m_contribute_action, sc_main_help_contribute, enable); - scmgr.set_shortcut (m_developer_action, sc_main_help_developer, enable); - scmgr.set_shortcut (m_about_octave_action, sc_main_help_about, enable); + settings.set_shortcut (m_ondisk_doc_action, sc_main_help_ondisk_doc, enable); + settings.set_shortcut (m_online_doc_action, sc_main_help_online_doc, enable); + settings.set_shortcut (m_report_bug_action, sc_main_help_report_bug, enable); + settings.set_shortcut (m_octave_packages_action, sc_main_help_packages, enable); + settings.set_shortcut (m_contribute_action, sc_main_help_contribute, enable); + settings.set_shortcut (m_developer_action, sc_main_help_developer, enable); + settings.set_shortcut (m_about_octave_action, sc_main_help_about, enable); // news menu - scmgr.set_shortcut (m_release_notes_action, sc_main_news_release_notes, enable); - scmgr.set_shortcut (m_current_news_action, sc_main_news_community_news, enable); + settings.set_shortcut (m_release_notes_action, sc_main_news_release_notes, enable); + settings.set_shortcut (m_current_news_action, sc_main_news_community_news, enable); } QList<octave_dock_widget *> main_window::dock_widget_list (void)
--- a/libgui/src/octave-dock-widget.cc Sat Dec 24 14:54:52 2022 -0500 +++ b/libgui/src/octave-dock-widget.cc Sun Dec 25 12:46:53 2022 -0500 @@ -219,14 +219,15 @@ connect (this, &octave_dock_widget::queue_make_widget, this, [=] () { make_widget (); }, Qt::QueuedConnection); - shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager (); - scmgr.set_shortcut (m_dock_action, sc_dock_widget_dock); + gui_settings settings; + + settings.set_shortcut (m_dock_action, sc_dock_widget_dock); m_dock_action->setShortcutContext (Qt::WidgetWithChildrenShortcut); addAction (m_dock_action); connect (m_dock_action, &QAction::triggered, this, &octave_dock_widget::make_window); - scmgr.set_shortcut (m_close_action, sc_dock_widget_close); + settings.set_shortcut (m_close_action, sc_dock_widget_close); m_close_action->setShortcutContext (Qt::WidgetWithChildrenShortcut); addAction (m_close_action); connect (m_close_action, &QAction::triggered,
--- a/libgui/src/shortcut-manager.cc Sat Dec 24 14:54:52 2022 -0500 +++ b/libgui/src/shortcut-manager.cc Sun Dec 25 12:46:53 2022 -0500 @@ -30,7 +30,6 @@ #include <QAction> #include <QApplication> #include <QCheckBox> -#include <QDebug> #include <QDialogButtonBox> #include <QFileDialog> #include <QGridLayout> @@ -333,38 +332,6 @@ settings.sync (); // sync the settings file } - void shortcut_manager::set_shortcut (QAction *action, const sc_pref& scpref, - bool enable) - { - if (! enable) - { - // Disable => remove existing shortcut from the action - action->setShortcut (QKeySequence ()); - return; - } - - gui_settings settings; - - QString shortcut = settings.sc_value (scpref); - - if (! shortcut.isEmpty ()) - action->setShortcut (QKeySequence (shortcut)); - else - qDebug () << "Key: " << scpref.key << " not found in settings"; - } - - void shortcut_manager::shortcut (QShortcut *sc, const sc_pref& scpref) - { - gui_settings settings; - - QString shortcut = settings.sc_value (scpref); - - if (! shortcut.isEmpty ()) - sc->setKey (QKeySequence (shortcut)); - else - qDebug () << "Key: " << scpref.key << " not found in settings"; - } - void shortcut_manager::fill_treewidget (QTreeWidget *tree_view) { m_dialog = nullptr;
--- a/libgui/src/shortcut-manager.h Sat Dec 24 14:54:52 2022 -0500 +++ b/libgui/src/shortcut-manager.h Sun Dec 25 12:46:53 2022 -0500 @@ -90,10 +90,6 @@ void write_shortcuts (gui_settings& settings, bool closing); - void set_shortcut (QAction *action, const sc_pref& scpref, bool enable = true); - - void shortcut (QShortcut *sc, const sc_pref& scpref); - void fill_treewidget (QTreeWidget *tree_view); bool import_export (int action);
--- a/libgui/src/variable-editor.cc Sat Dec 24 14:54:52 2022 -0500 +++ b/libgui/src/variable-editor.cc Sun Dec 25 12:46:53 2022 -0500 @@ -60,7 +60,6 @@ #include "octave-qtutils.h" #include "ovl.h" #include "qt-utils.h" -#include "shortcut-manager.h" #include "variable-editor-model.h" #include "variable-editor.h" @@ -1470,8 +1469,7 @@ } // Shortcuts (same as file editor) - shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager (); - scmgr.set_shortcut (m_save_action, sc_edit_file_save); + settings.set_shortcut (m_save_action, sc_edit_file_save); } void