- const QRect r = rect();
- pair<Cursor, Cursor> &cursors = _view.cursors();
- cursors.first.paint(p, r);
- cursors.second.paint(p, r);
+ if (event->orientation() == Qt::Vertical) {
+ if (event->modifiers() & Qt::ControlModifier) {
+ // Vertical scrolling with the control key pressed
+ // is intrepretted as vertical scrolling
+ view_.set_v_offset(-view_.owner_visual_v_offset() -
+ (event->delta() * height()) / (8 * 120));
+ } else {
+ // 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());
+ }