Kaynağa Gözat

LibGUI: Increase slider acceleration with Ctrl (#3499)

When holding Ctrl and scrolling on a slider widget, the scrolling
acceleration gets increased.

This can make it faster to get to the knob location you want to
get to. :^)
Jakob-Niklas See 4 yıl önce
ebeveyn
işleme
eeb3ef405c
1 değiştirilmiş dosya ile 7 ekleme ve 2 silme
  1. 7 2
      Libraries/LibGUI/Slider.cpp

+ 7 - 2
Libraries/LibGUI/Slider.cpp

@@ -159,10 +159,15 @@ void Slider::mouseup_event(MouseEvent& event)
 
 void Slider::mousewheel_event(MouseEvent& event)
 {
+    auto acceleration_modifier = m_step;
+
+    if (event.modifiers() == KeyModifier::Mod_Ctrl && knob_size_mode() == KnobSizeMode::Fixed)
+        acceleration_modifier *= 6;
+
     if (orientation() == Orientation::Horizontal)
-        set_value(value() - event.wheel_delta() * m_step);
+        set_value(value() - event.wheel_delta() * acceleration_modifier);
     else
-        set_value(value() + event.wheel_delta() * m_step);
+        set_value(value() + event.wheel_delta() * acceleration_modifier);
 
     Widget::mousewheel_event(event);
 }