diff options
| author | Peter Penz <[email protected]> | 2011-12-20 23:05:20 +0100 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2011-12-20 23:07:49 +0100 |
| commit | e71bdb0cf624b4fb4ed2ffb37f306f4b78e2aab8 (patch) | |
| tree | e31c09123506c4841f2096ee6adf7ed024fa6932 | |
| parent | d9e1db6ea448c462b5c8497b198fb3fc8ecb1acd (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.cpp | 4 |
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() |
