if (item != m_item) {
m_item = item;
+ m_preview->stopAnimatedImage();
refreshMetaData();
}
refreshPreview();
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)
);