From 5c1f1209fc9a443883cecd4d208d9e0c64468242 Mon Sep 17 00:00:00 2001 From: networkException Date: Sun, 10 Jul 2022 16:29:35 +0200 Subject: [PATCH] Browser: Use OpenInNewTab parameter in on_bookmark_click handler This patch makes the function signature of the on_bookmark_click handler more readable by replacing `Mod_None` with `OpenInNewTab::No` and `Mod_Ctrl` with `OpenInNewTab::Yes`. --- Userland/Applications/Browser/BookmarksBarWidget.cpp | 8 ++++---- Userland/Applications/Browser/BookmarksBarWidget.h | 7 ++++++- Userland/Applications/Browser/Tab.cpp | 4 ++-- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Userland/Applications/Browser/BookmarksBarWidget.cpp b/Userland/Applications/Browser/BookmarksBarWidget.cpp index 09f7625519..202b08fbfa 100644 --- a/Userland/Applications/Browser/BookmarksBarWidget.cpp +++ b/Userland/Applications/Browser/BookmarksBarWidget.cpp @@ -124,7 +124,7 @@ BookmarksBarWidget::BookmarksBarWidget(String const& bookmarks_file, bool enable auto default_action = GUI::Action::create( "&Open", [this](auto&) { if (on_bookmark_click) - on_bookmark_click(m_context_menu_url, Mod_None); + on_bookmark_click(m_context_menu_url, OpenInNewTab::No); }, this); m_context_menu_default_action = default_action; @@ -132,7 +132,7 @@ BookmarksBarWidget::BookmarksBarWidget(String const& bookmarks_file, bool enable m_context_menu->add_action(GUI::Action::create( "Open in New &Tab", [this](auto&) { if (on_bookmark_click) - on_bookmark_click(m_context_menu_url, Mod_Ctrl); + on_bookmark_click(m_context_menu_url, OpenInNewTab::Yes); }, this)); m_context_menu->add_separator(); @@ -201,9 +201,9 @@ void BookmarksBarWidget::model_did_update(unsigned) button.set_focus_policy(GUI::FocusPolicy::TabFocus); button.set_tooltip(url); - button.on_click = [title, url, this](auto modifiers) { + button.on_click = [title, url, this](auto) { if (on_bookmark_click) - on_bookmark_click(url, modifiers); + on_bookmark_click(url, OpenInNewTab::No); }; button.on_context_menu_request = [this, url](auto& context_menu_event) { diff --git a/Userland/Applications/Browser/BookmarksBarWidget.h b/Userland/Applications/Browser/BookmarksBarWidget.h index 1110c60b30..8ee173c59a 100644 --- a/Userland/Applications/Browser/BookmarksBarWidget.h +++ b/Userland/Applications/Browser/BookmarksBarWidget.h @@ -26,7 +26,12 @@ public: GUI::Model* model() { return m_model.ptr(); } const GUI::Model* model() const { return m_model.ptr(); } - Function on_bookmark_click; + enum class OpenInNewTab { + Yes, + No + }; + + Function on_bookmark_click; Function on_bookmark_hover; bool contains_bookmark(String const& url); diff --git a/Userland/Applications/Browser/Tab.cpp b/Userland/Applications/Browser/Tab.cpp index aa04c63002..3eb18c08b7 100644 --- a/Userland/Applications/Browser/Tab.cpp +++ b/Userland/Applications/Browser/Tab.cpp @@ -484,8 +484,8 @@ void Tab::update_bookmark_button(String const& url) void Tab::did_become_active() { - BookmarksBarWidget::the().on_bookmark_click = [this](auto& url, unsigned modifiers) { - if (modifiers & Mod_Ctrl) + BookmarksBarWidget::the().on_bookmark_click = [this](auto& url, auto open_in_new_tab) { + if (open_in_new_tab == BookmarksBarWidget::OpenInNewTab::Yes) on_tab_open_request(url); else load(url);