From 9226a063b0c93b04689134b61fdbafc21c3e6827 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sun, 29 Jun 2008 22:25:02 +0000 Subject: when moving the visible items to the front of the list, take care not to reverse the order svn path=/trunk/KDE/kdebase/apps/; revision=826161 --- src/iconmanager.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/iconmanager.cpp') diff --git a/src/iconmanager.cpp b/src/iconmanager.cpp index 82c35ea7d..ddd7797b2 100644 --- a/src/iconmanager.cpp +++ b/src/iconmanager.cpp @@ -538,6 +538,7 @@ void IconManager::orderItems(KFileItemList& items) const int rowCount = m_proxyModel->rowCount(); const QRect visibleArea = m_view->viewport()->rect(); + int insertPos = 0; if (itemCount * 10 > rowCount) { // Algorithm 1: The number of items is > 10 % of the row count. Parse all rows // and check whether the received row is part of the item list. @@ -563,7 +564,8 @@ void IconManager::orderItems(KFileItemList& items) // to the front of the list, so that the preview is // generated earlier. items.removeAt(index); - items.insert(0, item); + items.insert(insertPos, item); + ++insertPos; ++m_pendingVisiblePreviews; } } @@ -579,8 +581,9 @@ void IconManager::orderItems(KFileItemList& items) // The current item is (at least partly) visible. Move it // to the front of the list, so that the preview is // generated earlier. - items.insert(0, items[i]); + items.insert(insertPos, items[i]); items.removeAt(i + 1); + ++insertPos; ++m_pendingVisiblePreviews; } } -- cgit v1.3