LibGUI: Ignore scroll length multiplier in SpinBoxes & Sliders

Prevents discrete values from being skipped when using the mouse
wheel on SpinBoxes and proportional Sliders. Wheel delta can be
accelerated by holding Ctrl.
This commit is contained in:
thankyouverycool 2021-03-07 14:51:14 -05:00 committed by Andreas Kling
commit bd34cdbbb3
Notes: sideshowbarker 2024-07-18 21:30:10 +09:00
2 changed files with 10 additions and 4 deletions

View file

@ -105,7 +105,10 @@ void SpinBox::set_range(int min, int max)
void SpinBox::mousewheel_event(MouseEvent& event)
{
set_value(m_value - event.wheel_delta());
auto wheel_delta = event.wheel_delta() / abs(event.wheel_delta());
if (event.modifiers() == KeyModifier::Mod_Ctrl)
wheel_delta *= 6;
set_value(m_value - wheel_delta);
}
void SpinBox::resize_event(ResizeEvent& event)