-void SlideshowClip::slotSetItemIcon(int row) {
- QListWidgetItem * item = m_view.icon_list->item(row);
- if (item) {
- QString path = item->data(Qt::UserRole).toString();
- if (!path.isEmpty()) {
- KIcon icon(path);
- item->setIcon(icon);
- item->setData(Qt::UserRole, QString());
+void SlideshowClip::slotGenerateThumbs()
+{
+ if (m_thumbJob) {
+ delete m_thumbJob;
+ };
+ KFileItemList fileList;
+ for (int i = 0; i < m_view.icon_list->count(); i++) {
+ QListWidgetItem* item = m_view.icon_list->item(i);
+ if (item) {
+ QString path = item->data(Qt::UserRole).toString();
+ if (!path.isEmpty()) {
+ fileList.append(KFileItem(KFileItem::Unknown, KFileItem::Unknown, KUrl(path)));
+ }
+ }
+ }
+ m_thumbJob = new KIO::PreviewJob(fileList, 50, 0, 0, 0, true, true, 0);
+ m_thumbJob->setAutoDelete(false);
+ connect(m_thumbJob, SIGNAL(gotPreview(const KFileItem &, const QPixmap &)), this, SLOT(slotSetPixmap(const KFileItem &, const QPixmap &)));
+ m_thumbJob->start();
+}
+
+void SlideshowClip::slotSetPixmap(const KFileItem &fileItem, const QPixmap &pix)
+{
+ for (int i = 0; i < m_view.icon_list->count(); i++) {
+ QListWidgetItem* item = m_view.icon_list->item(i);
+ if (item) {
+ QString path = item->data(Qt::UserRole).toString();
+ if (path == fileItem.url().path()) {
+ item->setIcon(KIcon(pix));
+ item->setData(Qt::UserRole, QString());
+ break;
+ }