Browser: Mark default action in context menu of bookmarks

This commit is contained in:
Ben Wiederhake 2020-08-29 10:56:35 +02:00 committed by Andreas Kling
parent e59c415ae3
commit a5f7b7e3e7
Notes: sideshowbarker 2024-07-19 03:01:52 +09:00
2 changed files with 11 additions and 4 deletions

View file

@ -71,13 +71,19 @@ BookmarksBarWidget::BookmarksBarWidget(const String& bookmarks_file, bool enable
m_separator = GUI::Widget::construct();
m_context_menu = GUI::Menu::construct();
m_context_menu->add_action(GUI::Action::create("Delete", [this](auto&) {
remove_bookmark(m_context_menu_url);
}));
auto default_action = GUI::Action::create("Open", [this](auto&) {
if (on_bookmark_click)
on_bookmark_click(m_context_menu_url, Mod_None);
});
m_context_menu_default_action = default_action;
m_context_menu->add_action(default_action);
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);
}));
m_context_menu->add_action(GUI::Action::create("Delete", [this](auto&) {
remove_bookmark(m_context_menu_url);
}));
Vector<GUI::JsonArrayModel::FieldSpec> fields;
fields.empend("title", "Title", Gfx::TextAlignment::CenterLeft);
@ -141,7 +147,7 @@ void BookmarksBarWidget::model_did_update(unsigned)
button.on_context_menu_request = [this, url](auto& context_menu_event) {
m_context_menu_url = url;
m_context_menu->popup(context_menu_event.screen_position());
m_context_menu->popup(context_menu_event.screen_position(), m_context_menu_default_action);
};
width += rect.width();

View file

@ -70,6 +70,7 @@ private:
RefPtr<GUI::Menu> m_additional_menu;
RefPtr<GUI::Menu> m_context_menu;
RefPtr<GUI::Action> m_context_menu_default_action;
String m_context_menu_url;
NonnullRefPtrVector<GUI::Button> m_bookmarks;