From 944be4d93d59aa56ecbf291bd0a4db7d0ef06e0b Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Tue, 18 Oct 2016 12:49:39 -0400 Subject: [PATCH] Use pixel events for smooth zooming --- ui/pageview.cpp | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/ui/pageview.cpp b/ui/pageview.cpp index ab4643f84..e8e3be440 100644 --- a/ui/pageview.cpp +++ b/ui/pageview.cpp @@ -3347,17 +3347,11 @@ void PageView::wheelEvent( QWheelEvent *e ) vScroll = verticalScrollBar()->value(); e->accept(); if ( (e->modifiers() & Qt::ControlModifier) == Qt::ControlModifier ) { - d->controlWheelAccumulatedDelta += delta; - if ( d->controlWheelAccumulatedDelta <= -QWheelEvent::DefaultDeltasPerStep ) - { - slotZoomOut(); - d->controlWheelAccumulatedDelta = 0; - } - else if ( d->controlWheelAccumulatedDelta >= QWheelEvent::DefaultDeltasPerStep ) - { - slotZoomIn(); - d->controlWheelAccumulatedDelta = 0; - } + d->zoomFactor *= exp( (double)delta / 120.0 ); + d->blockPixmapsRequest = true; + updateZoom( ZoomRefreshCurrent ); + d->blockPixmapsRequest = false; + viewport()->repaint(); } else {