From 3fcfab4404a96d6c22cdda32c3ace58c5cc4be89 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 24 Apr 2020 20:50:06 +0200 Subject: [PATCH] Browser: Move the "About" action to WindowActions --- Applications/Browser/Tab.cpp | 5 +---- Applications/Browser/WindowActions.cpp | 7 +++++++ Applications/Browser/WindowActions.h | 3 +++ Applications/Browser/main.cpp | 5 +++++ 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/Applications/Browser/Tab.cpp b/Applications/Browser/Tab.cpp index 74d56fb405..f4ff7ded85 100644 --- a/Applications/Browser/Tab.cpp +++ b/Applications/Browser/Tab.cpp @@ -29,7 +29,6 @@ #include "WindowActions.h" #include "History.h" #include "InspectorWidget.h" -#include #include #include #include @@ -257,9 +256,7 @@ Tab::Tab() bookmarks_menu.add_action(show_bookmarksbar_action); auto& help_menu = m_menubar->add_menu("Help"); - help_menu.add_action(GUI::Action::create("About", [this](const GUI::Action&) { - GUI::AboutDialog::show("Browser", Gfx::Bitmap::load_from_file("/res/icons/32x32/filetype-html.png"), window()); - })); + help_menu.add_action(WindowActions::the().about_action()); } Tab::~Tab() diff --git a/Applications/Browser/WindowActions.cpp b/Applications/Browser/WindowActions.cpp index 501d0ddc65..000405478f 100644 --- a/Applications/Browser/WindowActions.cpp +++ b/Applications/Browser/WindowActions.cpp @@ -36,6 +36,13 @@ WindowActions::WindowActions(GUI::Window& window) on_previous_tab(); }, &window); + + m_about_action = GUI::Action::create( + "About", [this](const GUI::Action&) { + if (on_about) + on_about(); + }, + &window); } } diff --git a/Applications/Browser/WindowActions.h b/Applications/Browser/WindowActions.h index 0ae2e1a64e..e03233d349 100644 --- a/Applications/Browser/WindowActions.h +++ b/Applications/Browser/WindowActions.h @@ -13,15 +13,18 @@ public: Function on_create_new_tab; Function on_next_tab; Function on_previous_tab; + Function on_about; GUI::Action& create_new_tab_action() { return *m_create_new_tab_action; } GUI::Action& next_tab_action() { return *m_next_tab_action; } GUI::Action& previous_tab_action() { return *m_previous_tab_action; } + GUI::Action& about_action() { return *m_about_action; } private: RefPtr m_create_new_tab_action; RefPtr m_next_tab_action; RefPtr m_previous_tab_action; + RefPtr m_about_action; }; } diff --git a/Applications/Browser/main.cpp b/Applications/Browser/main.cpp index ed070eac7d..b931b82946 100644 --- a/Applications/Browser/main.cpp +++ b/Applications/Browser/main.cpp @@ -28,6 +28,7 @@ #include "Tab.h" #include "WindowActions.h" #include +#include #include #include #include @@ -140,6 +141,10 @@ int main(int argc, char** argv) tab_widget.activate_previous_tab(); }; + window_actions.on_about = [&] { + GUI::AboutDialog::show("Browser", Gfx::Bitmap::load_from_file("/res/icons/32x32/filetype-html.png"), window); + }; + create_new_tab(default_url, true); window->show();