Viewport: scroll horizontally with the vertical wheel and the shift key

Some software (notably Gimp and Inkscape) allows horizontal scrolling
with the vertical wheel when the shift key is pressed. Implement this
behaviour for easier navigation with single wheel mice.
This commit is contained in:
Łukasz Stelmach 2020-12-07 18:09:43 +01:00 committed by Soeren Apel
parent 16d72fc1ac
commit f375439ffd
1 changed files with 6 additions and 0 deletions

View File

@ -241,6 +241,12 @@ void Viewport::wheelEvent(QWheelEvent *event)
// is intrepretted as vertical scrolling
view_.set_v_offset(-view_.owner_visual_v_offset() -
(delta * height()) / (8 * 120));
} else if (event->modifiers() & Qt::ShiftModifier) {
// Vertical scrolling with the shift key pressed
// acts as horizontal scrolling like in Gimp
// and Inkscape.
view_.set_scale_offset(view_.scale(),
- delta * view_.scale() + view_.offset());
} else {
// Vertical scrolling is interpreted as zooming in/out
#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 0)