Sfoglia il codice sorgente

Browser: Add context menu item for selecting all text

Timothy Flynn 4 anni fa
parent
commit
615a1c7210

+ 9 - 0
Userland/Applications/Browser/BrowserWindow.cpp

@@ -189,6 +189,15 @@ void BrowserWindow::build_menus()
             GUI::Clipboard::the().set_plain_text(selected_text);
             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(
     m_view_source_action = GUI::Action::create(
         "View &Source", { Mod_Ctrl, Key_U }, [this](auto&) {
         "View &Source", { Mod_Ctrl, Key_U }, [this](auto&) {
             auto& tab = active_tab();
             auto& tab = active_tab();

+ 2 - 0
Userland/Applications/Browser/BrowserWindow.h

@@ -31,6 +31,7 @@ public:
     GUI::Action& go_home_action() { return *m_go_home_action; }
     GUI::Action& go_home_action() { return *m_go_home_action; }
     GUI::Action& reload_action() { return *m_reload_action; }
     GUI::Action& reload_action() { return *m_reload_action; }
     GUI::Action& copy_selection_action() { return *m_copy_selection_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& view_source_action() { return *m_view_source_action; }
     GUI::Action& inspect_dom_tree_action() { return *m_inspect_dom_tree_action; }
     GUI::Action& inspect_dom_tree_action() { return *m_inspect_dom_tree_action; }
 
 
@@ -45,6 +46,7 @@ private:
     RefPtr<GUI::Action> m_go_home_action;
     RefPtr<GUI::Action> m_go_home_action;
     RefPtr<GUI::Action> m_reload_action;
     RefPtr<GUI::Action> m_reload_action;
     RefPtr<GUI::Action> m_copy_selection_action;
     RefPtr<GUI::Action> m_copy_selection_action;
+    RefPtr<GUI::Action> m_select_all_action;
     RefPtr<GUI::Action> m_view_source_action;
     RefPtr<GUI::Action> m_view_source_action;
     RefPtr<GUI::Action> m_inspect_dom_tree_action;
     RefPtr<GUI::Action> m_inspect_dom_tree_action;
 
 

+ 1 - 0
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_action(window.reload_action());
     m_page_context_menu->add_separator();
     m_page_context_menu->add_separator();
     m_page_context_menu->add_action(window.copy_selection_action());
     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_separator();
     m_page_context_menu->add_action(window.view_source_action());
     m_page_context_menu->add_action(window.view_source_action());
     m_page_context_menu->add_action(window.inspect_dom_tree_action());
     m_page_context_menu->add_action(window.inspect_dom_tree_action());