From 615a1c721019a10501dda7a680dbd5e85a7a3a90 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Wed, 14 Jul 2021 08:55:36 -0400 Subject: [PATCH] Browser: Add context menu item for selecting all text --- Userland/Applications/Browser/BrowserWindow.cpp | 9 +++++++++ Userland/Applications/Browser/BrowserWindow.h | 2 ++ Userland/Applications/Browser/Tab.cpp | 1 + 3 files changed, 12 insertions(+) diff --git a/Userland/Applications/Browser/BrowserWindow.cpp b/Userland/Applications/Browser/BrowserWindow.cpp index b45fc44a0b..5838fd4265 100644 --- a/Userland/Applications/Browser/BrowserWindow.cpp +++ b/Userland/Applications/Browser/BrowserWindow.cpp @@ -189,6 +189,15 @@ void BrowserWindow::build_menus() GUI::Clipboard::the().set_plain_text(selected_text); }); + m_select_all_action = GUI::CommonActions::make_select_all_action([this](auto&) { + auto& tab = active_tab(); + + if (tab.m_type == Tab::Type::InProcessWebView) + tab.m_page_view->select_all(); + else + tab.m_web_content_view->select_all(); + }); + m_view_source_action = GUI::Action::create( "View &Source", { Mod_Ctrl, Key_U }, [this](auto&) { auto& tab = active_tab(); diff --git a/Userland/Applications/Browser/BrowserWindow.h b/Userland/Applications/Browser/BrowserWindow.h index 45bd69c5d1..c3b81d730d 100644 --- a/Userland/Applications/Browser/BrowserWindow.h +++ b/Userland/Applications/Browser/BrowserWindow.h @@ -31,6 +31,7 @@ public: GUI::Action& go_home_action() { return *m_go_home_action; } GUI::Action& reload_action() { return *m_reload_action; } GUI::Action& copy_selection_action() { return *m_copy_selection_action; } + GUI::Action& select_all_action() { return *m_select_all_action; } GUI::Action& view_source_action() { return *m_view_source_action; } GUI::Action& inspect_dom_tree_action() { return *m_inspect_dom_tree_action; } @@ -45,6 +46,7 @@ private: RefPtr m_go_home_action; RefPtr m_reload_action; RefPtr m_copy_selection_action; + RefPtr m_select_all_action; RefPtr m_view_source_action; RefPtr m_inspect_dom_tree_action; diff --git a/Userland/Applications/Browser/Tab.cpp b/Userland/Applications/Browser/Tab.cpp index 9cc555dad1..e49f37c6cc 100644 --- a/Userland/Applications/Browser/Tab.cpp +++ b/Userland/Applications/Browser/Tab.cpp @@ -333,6 +333,7 @@ Tab::Tab(BrowserWindow& window, Type type) m_page_context_menu->add_action(window.reload_action()); m_page_context_menu->add_separator(); m_page_context_menu->add_action(window.copy_selection_action()); + m_page_context_menu->add_action(window.select_all_action()); m_page_context_menu->add_separator(); m_page_context_menu->add_action(window.view_source_action()); m_page_context_menu->add_action(window.inspect_dom_tree_action());