1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 12:48:10 +00:00

WindowServer+LibGUI: Notify clients when menus become visible/hidden

This will allow clients to react to these events.
This commit is contained in:
Andreas Kling 2021-04-05 14:32:34 +02:00
parent 0315741815
commit 9b740f218b
8 changed files with 49 additions and 9 deletions

View file

@ -252,6 +252,16 @@ void WindowServerConnection::handle(const Messages::WindowClient::MouseWheel& me
Core::EventLoop::current().post_event(*window, make<MouseEvent>(Event::MouseWheel, message.mouse_position(), message.buttons(), to_gmousebutton(message.button()), message.modifiers(), message.wheel_delta()));
}
void WindowServerConnection::handle(const Messages::WindowClient::MenuVisibilityDidChange& message)
{
auto* menu = Menu::from_menu_id(message.menu_id());
if (!menu) {
dbgln("EventLoop received visibility change event for invalid menu ID {}", message.menu_id());
return;
}
menu->visibility_did_change({}, message.visible());
}
void WindowServerConnection::handle(const Messages::WindowClient::MenuItemActivated& message)
{
auto* menu = Menu::from_menu_id(message.menu_id());