From e69cdfb88dd6dbacb9cf95bedd2dc765347a0cb0 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 61dd1cec0..9ef2e0b33 100644 --- a/ui/pageview.cpp +++ b/ui/pageview.cpp @@ -3300,17 +3300,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 {