┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-12-20 23:05:20 +0100
committerPeter Penz <[email protected]>2011-12-20 23:07:49 +0100
commite71bdb0cf624b4fb4ed2ffb37f306f4b78e2aab8 (patch)
treee31c09123506c4841f2096ee6adf7ed024fa6932
parentd9e1db6ea448c462b5c8497b198fb3fc8ecb1acd (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
-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()