diff options
| author | Peter Penz <[email protected]> | 2011-12-26 22:28:54 +0100 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2011-12-26 22:29:44 +0100 |
| commit | c33c54be7d07cf9470205f867fbf98a32dfe8ef7 (patch) | |
| tree | a009ed79654278b94fa21861519fb2c51e7f81f9 /src/kitemviews/kitemlistview.cpp | |
| parent | 83c5692f5e33c2bb239e1122811ce64ed1f144a3 (diff) | |
Improve item offset scrolling
Don't check whether the m_layoutTimer is active: Changing the
item offset must always trigger a synchronous layout, otherwise
the smooth-scrolling might get jerky.
Diffstat (limited to 'src/kitemviews/kitemlistview.cpp')
| -rw-r--r-- | src/kitemviews/kitemlistview.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp index be03606ce..5dbc128b5 100644 --- a/src/kitemviews/kitemlistview.cpp +++ b/src/kitemviews/kitemlistview.cpp @@ -201,13 +201,19 @@ qreal KItemListView::maximumScrollOffset() const void KItemListView::setItemOffset(qreal offset) { + if (m_layouter->itemOffset() == offset) { + return; + } + m_layouter->setItemOffset(offset); if (m_header) { m_header->setPos(-offset, 0); } - if (!m_layoutTimer->isActive()) { - doLayout(NoAnimation); - } + + // Don't check whether the m_layoutTimer is active: Changing the + // item offset must always trigger a synchronous layout, otherwise + // the smooth-scrolling might get jerky. + doLayout(NoAnimation); } qreal KItemListView::itemOffset() const |
