]> sigrok.org Git - pulseview.git/blobdiff - pv/view/viewport.cpp
Viewport: Allow horizontal scrolling via mouse wheel tilting
[pulseview.git] / pv / view / viewport.cpp
index 6ce52abc28c4a362cf798fac507e4187c311cef7..90f2b4b2a5a922d63a7931e47d9482c621f4d088 100644 (file)
@@ -115,7 +115,16 @@ void Viewport::mouseReleaseEvent(QMouseEvent *event)
 void Viewport::wheelEvent(QWheelEvent *event)
 {
        assert(event);
-       _view.zoom(event->delta() / 120, event->x());
+
+       if (event->orientation() == Qt::Vertical) {
+               // Vertical scrolling is interpreted as zooming in/out
+               _view.zoom(event->delta() / 120, event->x());
+       } else if (event->orientation() == Qt::Horizontal) {
+               // Horizontal scrolling is interpreted as moving left/right
+               _view.set_scale_offset(_view.scale(),
+                                      event->delta() * _view.scale()
+                                      + _view.offset());
+       }
 }
 
 void Viewport::draw_cursors_background(QPainter &p)