From 04cdd1560a4940dcc3588e87783c98db425b9433 Mon Sep 17 00:00:00 2001 From: Jeremy Wootten Date: Thu, 20 Jun 2024 12:59:46 +0000 Subject: [PATCH] Reimplement reload action --- src/MainWindow.vala | 17 +++++++++++++++++ src/Widgets/TerminalView.vala | 8 ++++---- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/MainWindow.vala b/src/MainWindow.vala index e8e8bba881..b05d4db05d 100644 --- a/src/MainWindow.vala +++ b/src/MainWindow.vala @@ -75,6 +75,7 @@ namespace Terminal { public const string ACTION_NEW_TAB = "action-term_widgetnew-tab"; public const string ACTION_NEW_TAB_AT = "action-new-tab-at"; public const string ACTION_TAB_ACTIVE_SHELL = "action-tab_active_shell"; + public const string ACTION_TAB_RELOAD = "action-tab_reload"; public const string ACTION_RESTORE_CLOSED_TAB = "action-restore-closed-tab"; public const string ACTION_DUPLICATE_TAB = "action-duplicate-tab"; public const string ACTION_NEXT_TAB = "action-next-tab"; @@ -97,6 +98,7 @@ namespace Terminal { { ACTION_FULLSCREEN, action_fullscreen }, { ACTION_NEW_TAB, action_new_tab }, { ACTION_NEW_TAB_AT, action_new_tab_at, "s" }, + { ACTION_TAB_RELOAD, action_tab_reload}, { ACTION_TAB_ACTIVE_SHELL, action_tab_active_shell, "s" }, { ACTION_RESTORE_CLOSED_TAB, action_restore_closed_tab, "s" }, { ACTION_DUPLICATE_TAB, action_duplicate_tab }, @@ -123,6 +125,7 @@ namespace Terminal { action_accelerators[ACTION_FULLSCREEN] = "F11"; action_accelerators[ACTION_NEW_TAB] = "t"; action_accelerators[ACTION_DUPLICATE_TAB] = "d"; + action_accelerators[ACTION_TAB_RELOAD] = "r"; action_accelerators[ACTION_NEXT_TAB] = "Tab"; action_accelerators[ACTION_NEXT_TAB] = "Page_Down"; action_accelerators[ACTION_PREVIOUS_TAB] = "Tab"; @@ -957,6 +960,20 @@ namespace Terminal { term.feed_child ("clear\n".data); } + private void action_tab_reload () { + TerminalWidget? term; + var target = notebook.tab_menu_target; + if (target != null) { + term = get_term_widget (target); + } else { + term = get_term_widget (notebook.tab_view.selected_page); + } + + if (term != null) { + term.reload (); + } + } + private void action_duplicate_tab () requires (current_terminal != null) { var term = notebook.tab_menu_target != null ? get_term_widget (notebook.tab_menu_target) : diff --git a/src/Widgets/TerminalView.vala b/src/Widgets/TerminalView.vala index bcbc830a1c..9cbb63dfd7 100644 --- a/src/Widgets/TerminalView.vala +++ b/src/Widgets/TerminalView.vala @@ -154,10 +154,6 @@ public class Terminal.TerminalView : Gtk.Box { tab_view.selected_page = target; } - public void duplicate_tab () { - - } - public void transfer_tab_to_new_window () { var target = tab_menu_target ?? tab_view.selected_page; @@ -208,8 +204,12 @@ public class Terminal.TerminalView : Gtk.Box { open_tab_section.append (_("Open in New Window"), MainWindow.ACTION_PREFIX + MainWindow.ACTION_MOVE_TAB_TO_NEW_WINDOW); open_tab_section.append (_("Duplicate Tab"), MainWindow.ACTION_PREFIX + MainWindow.ACTION_DUPLICATE_TAB); + var reload_section = new Menu (); + reload_section.append (_("ReLoad"), MainWindow.ACTION_PREFIX + MainWindow.ACTION_TAB_RELOAD); + menu.append_section (null, open_tab_section); menu.append_section (null, close_tab_section); + menu.append_section (null, reload_section); return menu; }