1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:28:11 +00:00

LibGUI+WindowServer: Replace WindowInput{Enter,Leave} Events

with WindowInput{Preempted,Restored} Events and allow Widgets to save
the state of their focus preemption. As of now, only Popups will
preempt input and trigger these events.
This commit is contained in:
thankyouverycool 2022-11-17 08:39:20 -05:00 committed by Andreas Kling
parent 901878bad9
commit 5d567565a4
11 changed files with 50 additions and 45 deletions

View file

@ -120,16 +120,16 @@ void ConnectionToWindowServer::window_deactivated(i32 window_id)
Core::EventLoop::current().post_event(*window, make<Event>(Event::WindowBecameInactive));
}
void ConnectionToWindowServer::window_input_entered(i32 window_id)
void ConnectionToWindowServer::window_input_preempted(i32 window_id)
{
if (auto* window = Window::from_window_id(window_id))
Core::EventLoop::current().post_event(*window, make<Event>(Event::WindowInputEntered));
Core::EventLoop::current().post_event(*window, make<Event>(Event::WindowInputPreempted));
}
void ConnectionToWindowServer::window_input_left(i32 window_id)
void ConnectionToWindowServer::window_input_restored(i32 window_id)
{
if (auto* window = Window::from_window_id(window_id))
Core::EventLoop::current().post_event(*window, make<Event>(Event::WindowInputLeft));
Core::EventLoop::current().post_event(*window, make<Event>(Event::WindowInputRestored));
}
void ConnectionToWindowServer::window_close_request(i32 window_id)