diff --git a/Applications/Browser/BookmarksBarWidget.cpp b/Applications/Browser/BookmarksBarWidget.cpp index 18352045ad..4822645217 100644 --- a/Applications/Browser/BookmarksBarWidget.cpp +++ b/Applications/Browser/BookmarksBarWidget.cpp @@ -123,9 +123,9 @@ void BookmarksBarWidget::did_update_model() button.set_preferred_size(font().width(title) + 32, 20); button.set_relative_rect(rect); - button.on_click = [title, url, this](auto) { + button.on_click = [title, url, this](auto modifiers) { if (on_bookmark_click) - on_bookmark_click(title, url); + on_bookmark_click(title, url, modifiers); }; width += rect.width(); diff --git a/Applications/Browser/BookmarksBarWidget.h b/Applications/Browser/BookmarksBarWidget.h index 8637a80103..f7d0437585 100644 --- a/Applications/Browser/BookmarksBarWidget.h +++ b/Applications/Browser/BookmarksBarWidget.h @@ -42,7 +42,7 @@ public: GUI::Model* model() { return m_model.ptr(); } const GUI::Model* model() const { return m_model.ptr(); } - Function on_bookmark_click; + Function on_bookmark_click; Function on_bookmark_hover; bool contains_bookmark(const String& url); diff --git a/Applications/Browser/Tab.cpp b/Applications/Browser/Tab.cpp index 7ca38f404a..1167876bd6 100644 --- a/Applications/Browser/Tab.cpp +++ b/Applications/Browser/Tab.cpp @@ -332,8 +332,11 @@ void Tab::did_become_active() m_statusbar->set_text(String::format("Loading (%d pending resources...)", Web::ResourceLoader::the().pending_loads())); }; - BookmarksBarWidget::the().on_bookmark_click = [this](auto&, auto& url) { - m_html_widget->load(url); + BookmarksBarWidget::the().on_bookmark_click = [this](auto&, auto& url, unsigned modifiers) { + if (modifiers & Mod_Ctrl) + on_tab_open_request(url); + else + m_html_widget->load(url); }; BookmarksBarWidget::the().on_bookmark_hover = [this](auto&, auto& url) { diff --git a/Applications/Browser/Tab.h b/Applications/Browser/Tab.h index 3c6e554e58..4f26e55a98 100644 --- a/Applications/Browser/Tab.h +++ b/Applications/Browser/Tab.h @@ -45,7 +45,7 @@ public: void did_become_active(); Function on_title_change; - Function on_tab_open_request; + Function on_tab_open_request; Function on_tab_close_request; Function on_favicon_change;