-void IconManager::generatePreviews(const KFileItemList &items)
-{
- Q_ASSERT(m_showPreview);
- const QRect visibleArea = m_view->viewport()->rect();
-
- // Order the items in a way that the preview for the visible items
- // is generated first, as this improves the feeled performance a lot.
- KFileItemList orderedItems;
- foreach (KFileItem item, items) {
- const QModelIndex dirIndex = m_dolphinModel->indexForItem(item);
- const QModelIndex proxyIndex = m_proxyModel->mapFromSource(dirIndex);
- const QRect itemRect = m_view->visualRect(proxyIndex);
- if (itemRect.intersects(visibleArea)) {
- orderedItems.insert(0, item);
- } else {
- orderedItems.append(item);
- }
- }
-
- const QSize size = m_view->iconSize();
- KIO::PreviewJob* job = KIO::filePreview(orderedItems, 128, 128);
- connect(job, SIGNAL(gotPreview(const KFileItem&, const QPixmap&)),
- this, SLOT(addToPreviewQueue(const KFileItem&, const QPixmap&)));
- connect(job, SIGNAL(finished(KJob*)),
- this, SLOT(slotPreviewJobFinished(KJob*)));
-
- m_previewJobs.append(job);
- m_previewTimer->start(200);
-}
-