소스 검색

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 년 전
부모
커밋
eeb3ef405c
1개의 변경된 파일7개의 추가작업 그리고 2개의 파일을 삭제
  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);
 }