if (item != m_item) {
m_item = item;
+ m_preview->stopAnimatedImage();
refreshMetaData();
}
refreshPreview();
// in the case of a search-URL the URL is not readable for humans
// (at least not useful to show in the Information Panel)
m_preview->setPixmap(
- QIcon::fromTheme(QStringLiteral("nepomuk")).pixmap(KIconLoader::SizeEnormous, KIconLoader::SizeEnormous)
+ QIcon::fromTheme(QStringLiteral("baloo")).pixmap(KIconLoader::SizeEnormous, KIconLoader::SizeEnormous)
);
} else {
refreshPixmapView();
const QString mimeType = m_item.mimetype();
- m_isVideo = mimeType.startsWith(QLatin1String("video/"));
+ const bool isAnimatedImage = m_preview->isAnimatedImage(itemUrl.toLocalFile());
+ m_isVideo = !isAnimatedImage && mimeType.startsWith(QLatin1String("video/"));
usePhonon = m_isVideo || mimeType.startsWith(QLatin1String("audio/"));
if (usePhonon) {
adjustWidgetSizes(parentWidget()->width());
}
} else {
+ if (isAnimatedImage) {
+ m_preview->setAnimatedImageFileName(itemUrl.toLocalFile());
+ }
// When we don't need it, hide the phonon widget first to avoid flickering
m_phononWidget->hide();
m_preview->show();
}
}
} else {
+ m_preview->stopAnimatedImage();
m_preview->hide();
m_phononWidget->hide();
}
m_previewJob->kill();
}
+ m_preview->stopAnimatedImage();
+
m_preview->setPixmap(
QIcon::fromTheme(QStringLiteral("dialog-information")).pixmap(KIconLoader::SizeEnormous, KIconLoader::SizeEnormous)
);
const QPixmap& pixmap)
{
m_outdatedPreviewTimer->stop();
- Q_UNUSED(item)
QPixmap p = pixmap;
KIconLoader::global()->drawOverlays(item.overlays(), p, KIconLoader::Desktop);