LibWebView+UI: Add option to render an icon for application submenus
This commit is contained in:
parent
abaf255fc5
commit
afcc0fdbb0
5 changed files with 11 additions and 0 deletions
|
|
@ -184,6 +184,9 @@ public:
|
|||
Span<MenuItem> items() { return m_items; }
|
||||
ReadonlySpan<MenuItem> items() const { return m_items; }
|
||||
|
||||
void set_render_group_icon(bool render_group_icon) { m_render_group_icon = render_group_icon; }
|
||||
bool render_group_icon() const { return m_render_group_icon; }
|
||||
|
||||
template<typename Callback>
|
||||
void for_each_action(Callback const& callback)
|
||||
{
|
||||
|
|
@ -207,6 +210,7 @@ private:
|
|||
Vector<MenuItem> m_items;
|
||||
|
||||
bool m_is_group { false };
|
||||
bool m_render_group_icon { false };
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -256,6 +256,9 @@ static void add_items_to_menu(NSMenu* menu, Span<WebView::Menu::MenuItem> menu_i
|
|||
keyEquivalent:@""];
|
||||
[item setSubmenu:application_submenu];
|
||||
|
||||
if (submenu->render_group_icon())
|
||||
set_control_image(item, @"folder");
|
||||
|
||||
[menu addItem:item];
|
||||
},
|
||||
[&](WebView::Separator) {
|
||||
|
|
|
|||
BIN
UI/Icons/folder.tvg
Normal file
BIN
UI/Icons/folder.tvg
Normal file
Binary file not shown.
|
|
@ -255,6 +255,9 @@ static void add_items_to_menu(QMenu& menu, QWidget& parent, Span<WebView::Menu::
|
|||
auto* qsubmenu = new QMenu(qstring_from_ak_string(submenu->title()), &menu);
|
||||
add_items_to_menu(*qsubmenu, parent, submenu->items());
|
||||
|
||||
if (submenu->render_group_icon())
|
||||
qsubmenu->setIcon(create_tvg_icon_with_theme_colors("folder", parent.palette()));
|
||||
|
||||
menu.addMenu(qsubmenu);
|
||||
},
|
||||
[&](WebView::Separator) {
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
<file>../Icons/ladybird.png</file>
|
||||
<file>../Icons/back.tvg</file>
|
||||
<file>../Icons/close.tvg</file>
|
||||
<file>../Icons/folder.tvg</file>
|
||||
<file>../Icons/forward.tvg</file>
|
||||
<file>../Icons/hamburger.tvg</file>
|
||||
<file>../Icons/new_tab.tvg</file>
|
||||
|
|
|
|||
Loading…
Reference in a new issue