┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kitemlistsizehintresolver.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-11-04 23:31:11 +0100
committerPeter Penz <[email protected]>2011-11-04 23:34:39 +0100
commit49d75cfe45860df18e34964a0d30196708935df8 (patch)
treea1531314480283ef956d94a824d8763b85d53cf5 /src/kitemviews/kitemlistsizehintresolver.cpp
parenteadbf920b5dffdf2d1548240c25ec2eaf835aad5 (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.cpp10
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)