+ m_count = m_view.icon_list->count();
+ m_view.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(m_count > 0);
+ m_view.label_info->setText(i18np("1 image found", "%1 images found", m_count));
+ if (m_view.show_thumbs->isChecked()) slotGenerateThumbs();
+ m_view.icon_list->setCurrentRow(0);
+}
+
+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)));
+ }
+ }
+ }
+#if KDE_IS_VERSION(4,7,0)
+ m_thumbJob = new KIO::PreviewJob(fileList, QSize(50, 50));
+ m_thumbJob->setScaleType(KIO::PreviewJob::Scaled);
+#else
+ m_thumbJob = new KIO::PreviewJob(fileList, 50, 0, 0, 0, true, false, 0);
+#endif
+
+ m_thumbJob->setAutoDelete(false);
+ connect(m_thumbJob, SIGNAL(gotPreview(KFileItem,QPixmap)), this, SLOT(slotSetPixmap(KFileItem,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;
+ }
+ }
+ }
+}
+
+
+QString SlideshowClip::selectedPath()
+{
+ QStringList list;
+ KUrl url;
+ if (m_view.method_mime->isChecked()) url = m_view.folder_url->url();
+ else url = m_view.pattern_url->url();
+ QString path = selectedPath(url, m_view.method_mime->isChecked(), ".all." + m_view.image_type->itemData(m_view.image_type->currentIndex()).toString(), &list);
+ m_count = list.count();
+ kDebug()<<"// SELECTED PATH: "<<path;
+ return path;
+}
+
+// static
+int SlideshowClip::getFrameNumberFromPath(const KUrl &path)
+{
+ QString filter = path.fileName();
+ filter = filter.section('.', 0, -2);
+ int ix = filter.size() - 1;
+ while (filter.at(ix).isDigit()) {
+ ix--;
+ }
+ return filter.remove(0, ix + 1).toInt();