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() ));