mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 01:37:34 +00:00
LibGUI: Make focus events more aware of why focus is changing
This patch adds GUI::FocusEvent which has a GUI::FocusSource. The focus source is one of three things: - Programmatic - Mouse - Keyboard This allows receivers of focus events to implement different behaviors depending on how they receive/lose focus.
This commit is contained in:
parent
110b3d89d3
commit
75b8f4e4e6
14 changed files with 94 additions and 41 deletions
|
@ -181,13 +181,13 @@ void TerminalWidget::set_logical_focus(bool focus)
|
|||
update();
|
||||
}
|
||||
|
||||
void TerminalWidget::focusin_event(Core::Event& event)
|
||||
void TerminalWidget::focusin_event(GUI::FocusEvent& event)
|
||||
{
|
||||
set_logical_focus(true);
|
||||
return GUI::Frame::focusin_event(event);
|
||||
}
|
||||
|
||||
void TerminalWidget::focusout_event(Core::Event& event)
|
||||
void TerminalWidget::focusout_event(GUI::FocusEvent& event)
|
||||
{
|
||||
set_logical_focus(false);
|
||||
return GUI::Frame::focusout_event(event);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue