1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 16:55:09 +00:00

LibGUI: Notify widgets when their enabled state changes.

This is done by dispatching a (synchronous) "EnabledChange" event that can
be picked up in change_event(). Use this event to kick widgets out of their
"being pressed"-type modes if the user is interacting with them while the
state is programmatically changed.
This commit is contained in:
Andreas Kling 2019-05-25 13:40:57 +02:00
parent e478a2fb0a
commit d12857fc36
9 changed files with 44 additions and 0 deletions

View file

@ -300,3 +300,12 @@ void GScrollBar::leave_event(CEvent&)
update();
}
}
void GScrollBar::change_event(GEvent& event)
{
if (event.type() == GEvent::Type::EnabledChange) {
if (!is_enabled())
m_scrubbing = false;
}
return GWidget::change_event(event);
}