From 08d368c13b0fa7368be9720b8de1b7a67188b8e9 Mon Sep 17 00:00:00 2001 From: Kezi Olio Date: Wed, 29 Apr 2020 22:05:43 +0200 Subject: [PATCH] Fix scroll speed with free-spinning mouse wheels BUG: 420492 FIXED-IN: 1.10.1 This just removes the smooth mouse wheel scrolling, fixing that problem. --- ui/pageview.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/ui/pageview.cpp b/ui/pageview.cpp index eff6b8172..938aa5039 100644 --- a/ui/pageview.cpp +++ b/ui/pageview.cpp @@ -5365,17 +5365,14 @@ void PageView::slotAutoScrollDown() void PageView::slotScrollUp( int nSteps ) { - //if we are too far behind the animation, do nothing and let it catch up - auto limit_value = nSteps ? 200 : verticalScrollBar()->rect().height(); - if(d->scroller->state() == QScroller::Scrolling && abs(d->scroller->finalPosition().y() - verticalScrollBar()->value()) > limit_value){ + if(d->scroller->state() == QScroller::Scrolling) return; - } // if in single page mode and at the top of the screen, go to \ page if ( Okular::Settings::viewContinuous() || verticalScrollBar()->value() > verticalScrollBar()->minimum() ) { if ( nSteps ){ - d->scroller->scrollTo(d->scroller->finalPosition() + QPoint(0,-100*nSteps), 100); + d->scroller->scrollTo(d->scroller->finalPosition() + QPoint(0,-100*nSteps), 0); }else{ if(d->scroller->finalPosition().y() > verticalScrollBar()->minimum()) d->scroller->scrollTo(d->scroller->finalPosition() + QPoint(0, -verticalScrollBar()->rect().height() )); @@ -5396,17 +5393,14 @@ void PageView::slotScrollUp( int nSteps ) void PageView::slotScrollDown( int nSteps ) { - //if we are too far behind the animation, do nothing and let it catch up - auto limit_value = nSteps ? 200 : verticalScrollBar()->rect().height(); - if(d->scroller->state() == QScroller::Scrolling && abs(d->scroller->finalPosition().y() - verticalScrollBar()->value()) > limit_value){ + if(d->scroller->state() == QScroller::Scrolling) return; - } // if in single page mode and at the bottom of the screen, go to next page if ( Okular::Settings::viewContinuous() || verticalScrollBar()->value() < verticalScrollBar()->maximum() ) { if ( nSteps ){ - d->scroller->scrollTo(d->scroller->finalPosition() + QPoint(0,100*nSteps), 100); + d->scroller->scrollTo(d->scroller->finalPosition() + QPoint(0,100*nSteps), 0); }else{ if(d->scroller->finalPosition().y() < verticalScrollBar()->maximum()) d->scroller->scrollTo(d->scroller->finalPosition() + QPoint(0, verticalScrollBar()->rect().height() ));