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:
parent
22d1961c9a
commit
d86b20d8bd
2 changed files with 10 additions and 0 deletions
|
@ -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))
|
||||||
|
|
|
@ -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*);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue