diff options
Diffstat (limited to 'libs/gtkmm2ext/motionfeedback.cc')
-rw-r--r-- | libs/gtkmm2ext/motionfeedback.cc | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/libs/gtkmm2ext/motionfeedback.cc b/libs/gtkmm2ext/motionfeedback.cc index 7a6d02f531..b5bdd82aa5 100644 --- a/libs/gtkmm2ext/motionfeedback.cc +++ b/libs/gtkmm2ext/motionfeedback.cc @@ -381,23 +381,25 @@ MotionFeedback::pixwin_scroll_event (GdkEventScroll* ev) return false; } - if ((ev->state & (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier)) == (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier)) { - scale = 0.01; - } else if (ev->state & Keyboard::PrimaryModifier) { - scale = 0.1; + if (ev->state & Keyboard::GainFineScaleModifier) { + if (ev->state & Keyboard::GainExtraFineScaleModifier) { + scale = 0.01; + } else { + scale = 0.05; + } } else { - scale = 1.0; + scale = 0.25; } switch (ev->direction) { case GDK_SCROLL_UP: case GDK_SCROLL_RIGHT: - _controllable->set_value (adjust (scale * step_inc)); + _controllable->set_value (adjust (scale * page_inc)); break; case GDK_SCROLL_DOWN: case GDK_SCROLL_LEFT: - _controllable->set_value (adjust (-scale * step_inc)); + _controllable->set_value (adjust (-scale * page_inc)); break; } |