Compare commits

...

5 Commits

Author SHA1 Message Date
Jacopo De Simoi bb18af93cb Fix Up/Down scrolling 4 years ago
Jacopo De Simoi 673e74a7dd Use pixel events for smooth zooming 4 years ago
Jacopo De Simoi acd5898e66 Always hide horizontal scrollbar 4 years ago
Jacopo De Simoi 9cf9bc4094 Use ijkl-arrows rather than vim-arrows 4 years ago
Jacopo De Simoi 760b7467e5 Make autoscroll faster 4 years ago
  1. 39
      part/pageview.cpp

@ -937,9 +937,12 @@ void PageView::reparseConfig()
PageView::updateSmoothScrollAnimationSpeed(); PageView::updateSmoothScrollAnimationSpeed();
// set the scroll bars policies // set the scroll bars policies
Qt::ScrollBarPolicy scrollBarMode = Okular::Settings::showScrollBars() ? Qt::ScrollBarAsNeeded : Qt::ScrollBarAlwaysOff; setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
if (horizontalScrollBarPolicy() != scrollBarMode) { Qt::ScrollBarPolicy scrollBarMode = Okular::Settings::showScrollBars() ?
setHorizontalScrollBarPolicy(scrollBarMode); Qt::ScrollBarAsNeeded : Qt::ScrollBarAlwaysOff;
if ( horizontalScrollBarPolicy() != scrollBarMode )
{
setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); //setHorizontalScrollBarPolicy( scrollBarMode );
setVerticalScrollBarPolicy( scrollBarMode ); setVerticalScrollBarPolicy( scrollBarMode );
} }
@ -2045,19 +2048,20 @@ void PageView::keyPressEvent(QKeyEvent *e)
return; return;
// move/scroll page by using keys // move/scroll page by using keys
switch (e->key()) { switch ( e->key() )
case Qt::Key_J: {
case Qt::Key_K:
case Qt::Key_Down: case Qt::Key_Down:
slotScrollDown(1 /* go down 1 step */); slotScrollDown( 3 /* go down 1 step */ );
break; break;
case Qt::Key_PageDown: case Qt::Key_PageDown:
slotScrollDown(); slotScrollDown();
break; break;
case Qt::Key_K: case Qt::Key_I:
case Qt::Key_Up: case Qt::Key_Up:
slotScrollUp(1 /* go up 1 step */); slotScrollUp( 3 /* go up 1 step */ );
break; break;
case Qt::Key_PageUp: case Qt::Key_PageUp:
@ -2066,7 +2070,7 @@ void PageView::keyPressEvent(QKeyEvent *e)
break; break;
case Qt::Key_Left: case Qt::Key_Left:
case Qt::Key_H: case Qt::Key_J:
if (horizontalScrollBar()->maximum() == 0) { if (horizontalScrollBar()->maximum() == 0) {
// if we cannot scroll we go to the previous page vertically // if we cannot scroll we go to the previous page vertically
int next_page = d->document->currentPage() - viewColumns(); int next_page = d->document->currentPage() - viewColumns();
@ -3184,15 +3188,14 @@ void PageView::wheelEvent(QWheelEvent *e)
int delta = e->angleDelta().y(), vScroll = verticalScrollBar()->value(); int delta = e->angleDelta().y(), vScroll = verticalScrollBar()->value();
e->accept(); e->accept();
if ( (e->modifiers() & Qt::ControlModifier) == Qt::ControlModifier ) { if ( (e->modifiers() & Qt::ControlModifier) == Qt::ControlModifier ) {
d->controlWheelAccumulatedDelta += delta; d->zoomFactor *= exp( (double)delta / 120.0 );
if (d->controlWheelAccumulatedDelta <= -QWheelEvent::DefaultDeltasPerStep) { d->blockPixmapsRequest = true;
slotZoomOut(); updateZoom( ZoomRefreshCurrent );
d->controlWheelAccumulatedDelta = 0; d->blockPixmapsRequest = false;
} else if (d->controlWheelAccumulatedDelta >= QWheelEvent::DefaultDeltasPerStep) { viewport()->repaint();
slotZoomIn();
d->controlWheelAccumulatedDelta = 0;
} }
} else { else
{
d->controlWheelAccumulatedDelta = 0; d->controlWheelAccumulatedDelta = 0;
if (delta <= -QWheelEvent::DefaultDeltasPerStep && !getContinuousMode() && vScroll == verticalScrollBar()->maximum()) { if (delta <= -QWheelEvent::DefaultDeltasPerStep && !getContinuousMode() && vScroll == verticalScrollBar()->maximum()) {
@ -4684,7 +4687,7 @@ void PageView::slotAutoScroll()
// compute delay between timer ticks and scroll amount per tick // compute delay between timer ticks and scroll amount per tick
int index = abs( d->scrollIncrement ) - 1; // 0..9 int index = abs( d->scrollIncrement ) - 1; // 0..9
const int scrollDelay[10] = {200, 100, 50, 30, 20, 30, 25, 20, 30, 20}; const int scrollDelay[10] = { 100, 50, 25, 15, 10, 15, 12, 10, 15, 10 };
const int scrollOffset[10] = { 1, 1, 1, 1, 1, 2, 2, 2, 4, 4 }; const int scrollOffset[10] = { 1, 1, 1, 1, 1, 2, 2, 2, 4, 4 };
d->autoScrollTimer->start( scrollDelay[ index ] ); d->autoScrollTimer->start( scrollDelay[ index ] );
int delta = d->scrollIncrement > 0 ? scrollOffset[ index ] : -scrollOffset[ index ]; int delta = d->scrollIncrement > 0 ? scrollOffset[ index ] : -scrollOffset[ index ];

Loading…
Cancel
Save