┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kitemlistview.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-12-20 23:05:20 +0100
committerPeter Penz <[email protected]>2011-12-20 23:08:26 +0100
commita8622c7a1ed9b04645eb5a4c72060ea5f08b5364 (patch)
treee31c09123506c4841f2096ee6adf7ed024fa6932 /src/kitemviews/kitemlistview.cpp
parente76affea646069ab1a8cdfbf1c6c5228607a17e2 (diff)
Fix autoscroll issue when selecting items
If items get selected with the rubberband the scroll offset must stay inside the visible range. BUG: 282353 FIXED-IN: 4.8.0
Diffstat (limited to 'src/kitemviews/kitemlistview.cpp')
-rw-r--r--src/kitemviews/kitemlistview.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp
index 20a5f4847..42445dcfe 100644
--- a/src/kitemviews/kitemlistview.cpp
+++ b/src/kitemviews/kitemlistview.cpp
@@ -1170,7 +1170,9 @@ void KItemListView::triggerAutoScrolling()
// the autoscrolling may not get skipped anymore until a new rubberband is created
m_skipAutoScrollForRubberBand = false;
- setScrollOffset(scrollOffset() + m_autoScrollIncrement);
+ const qreal maxVisibleOffset = qMax(qreal(0), maximumScrollOffset() - visibleSize);
+ const qreal newScrollOffset = qMin(scrollOffset() + m_autoScrollIncrement, maxVisibleOffset);
+ setScrollOffset(newScrollOffset);
// Trigger the autoscroll timer which will periodically call
// triggerAutoScrolling()