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

WindowServer: Add toggle_menu helper function

This commit is contained in:
Shannon Booth 2020-01-18 12:13:15 +13:00 committed by Andreas Kling
parent 22d1961c9a
commit d86b20d8bd
2 changed files with 10 additions and 0 deletions

View file

@ -382,6 +382,15 @@ void WSMenuManager::close_menu_and_descendants(WSMenu& menu)
close_menus(menus_to_close); close_menus(menus_to_close);
} }
void WSMenuManager::toggle_menu(WSMenu& menu)
{
if (is_open(menu)) {
close_menu_and_descendants(menu);
return;
}
open_menu(menu);
}
void WSMenuManager::open_menu(WSMenu& menu) void WSMenuManager::open_menu(WSMenu& menu)
{ {
if (is_open(menu)) if (is_open(menu))

View file

@ -32,6 +32,7 @@ public:
WSMenu* current_menu() { return m_current_menu.ptr(); } WSMenu* current_menu() { return m_current_menu.ptr(); }
void set_current_menu(WSMenu*, bool is_submenu = false); void set_current_menu(WSMenu*, bool is_submenu = false);
void open_menu(WSMenu&); void open_menu(WSMenu&);
void toggle_menu(WSMenu&);
WSMenuBar* current_menubar() { return m_current_menubar.ptr(); } WSMenuBar* current_menubar() { return m_current_menubar.ptr(); }
void set_current_menubar(WSMenuBar*); void set_current_menubar(WSMenuBar*);