1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 22:47:47 +00:00

LibGUI: Remove Menu::try_add_submenu()

And fall back to the infallible add_submenu().
This commit is contained in:
Andreas Kling 2023-08-14 09:04:41 +02:00
parent 1525fa3b8f
commit eec328e2ab
18 changed files with 94 additions and 104 deletions

View file

@ -104,29 +104,20 @@ void Menu::set_parent(Menu& menu, int submenu_index)
m_index_in_parent_menu = submenu_index;
}
ErrorOr<NonnullRefPtr<Menu>> Menu::try_add_submenu(String name)
NonnullRefPtr<Menu> Menu::add_submenu(String name)
{
// NOTE: We grow the vector first, to get allocation failure handled immediately.
TRY(m_items.try_ensure_capacity(m_items.size() + 1));
auto submenu = Menu::construct(move(name));
auto submenu = TRY(Menu::try_create(move(name)));
auto item = TRY(adopt_nonnull_own_or_enomem(new (nothrow) MenuItem(m_menu_id, submenu)));
auto item = make<MenuItem>(m_menu_id, submenu);
submenu->set_parent(*this, m_items.size());
if (m_menu_id != -1)
realize_menu_item(*item, m_items.size());
m_items.unchecked_append(move(item));
m_items.append(move(item));
return submenu;
}
Menu& Menu::add_submenu(String name)
{
auto menu = MUST(try_add_submenu(move(name)));
return menu;
}
void Menu::add_separator()
{
auto item = make<MenuItem>(m_menu_id, MenuItem::Type::Separator);