diff options
| author | Peter Penz <[email protected]> | 2011-11-04 23:31:11 +0100 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2011-11-04 23:34:39 +0100 |
| commit | 49d75cfe45860df18e34964a0d30196708935df8 (patch) | |
| tree | a1531314480283ef956d94a824d8763b85d53cf5 /src/kitemviews/kitemlistsizehintresolver.cpp | |
| parent | eadbf920b5dffdf2d1548240c25ec2eaf835aad5 (diff) | |
Fix layout-issues when sorting by roles that are changed
When sorting is enabled for a role that gets changed e.g. because
a value like the MIME-type is determined asynchronously, then the
layout might get messed up.
slotItemsMoved() has been adjusted to invalidate the sizehint-cache
and to update the group-headers.
BUG: 285542
FIXED-IN: 4.8.0
Diffstat (limited to 'src/kitemviews/kitemlistsizehintresolver.cpp')
| -rw-r--r-- | src/kitemviews/kitemlistsizehintresolver.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/kitemviews/kitemlistsizehintresolver.cpp b/src/kitemviews/kitemlistsizehintresolver.cpp index 00eb79bdd..0520fac04 100644 --- a/src/kitemviews/kitemlistsizehintresolver.cpp +++ b/src/kitemviews/kitemlistsizehintresolver.cpp @@ -60,11 +60,13 @@ void KItemListSizeHintResolver::itemsRemoved(int index, int count) m_sizeHintCache.erase(begin, end); } -void KItemListSizeHintResolver::itemsMoved(int from, int to, int count) +void KItemListSizeHintResolver::itemsMoved(int index, int count) { - Q_UNUSED(from); - Q_UNUSED(to); - Q_UNUSED(count); + while (count) { + m_sizeHintCache[index] = QSizeF(); + ++index; + --count; + } } void KItemListSizeHintResolver::itemsChanged(int index, int count, const QSet<QByteArray>& roles) |
