┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/panels
diff options
context:
space:
mode:
Diffstat (limited to 'src/panels')
-rw-r--r--src/panels/information/informationpanelcontent.cpp2
-rw-r--r--src/panels/information/pixmapviewer.cpp7
-rw-r--r--src/panels/information/pixmapviewer.h4
3 files changed, 7 insertions, 6 deletions
diff --git a/src/panels/information/informationpanelcontent.cpp b/src/panels/information/informationpanelcontent.cpp
index a0c872560..9db7f8bb7 100644
--- a/src/panels/information/informationpanelcontent.cpp
+++ b/src/panels/information/informationpanelcontent.cpp
@@ -236,7 +236,7 @@ void InformationPanelContent::refreshPreview()
refreshPixmapView();
const QString mimeType = m_item.mimetype();
- const bool isAnimatedImage = m_preview->isAnimatedImage(itemUrl.toLocalFile());
+ const bool isAnimatedImage = m_preview->isAnimatedMimeType(mimeType);
m_isVideo = !isAnimatedImage && mimeType.startsWith(QLatin1String("video/"));
bool usePhonon = m_isVideo || mimeType.startsWith(QLatin1String("audio/"));
diff --git a/src/panels/information/pixmapviewer.cpp b/src/panels/information/pixmapviewer.cpp
index 2601e82ae..39fedb1a1 100644
--- a/src/panels/information/pixmapviewer.cpp
+++ b/src/panels/information/pixmapviewer.cpp
@@ -186,8 +186,9 @@ void PixmapViewer::stopAnimatedImage()
}
}
-bool PixmapViewer::isAnimatedImage(const QString &fileName)
+bool PixmapViewer::isAnimatedMimeType(const QString &mimeType)
{
- const QByteArray imageFormat = QImageReader::imageFormat(fileName);
- return !imageFormat.isEmpty() && QMovie::supportedFormats().contains(imageFormat);
+ const QList<QByteArray> imageFormats = QImageReader::imageFormatsForMimeType(mimeType.toUtf8());
+ return std::any_of(imageFormats.begin(), imageFormats.end(),
+ [](const QByteArray &format){ return QMovie::supportedFormats().contains(format); });
}
diff --git a/src/panels/information/pixmapviewer.h b/src/panels/information/pixmapviewer.h
index 37071045f..c231b590d 100644
--- a/src/panels/information/pixmapviewer.h
+++ b/src/panels/information/pixmapviewer.h
@@ -80,9 +80,9 @@ public:
void stopAnimatedImage();
/**
- * Checks if \a fileName contains an animated image supported by QMovie.
+ * Checks if \a mimeType has a format supported by QMovie.
*/
- static bool isAnimatedImage(const QString &fileName);
+ static bool isAnimatedMimeType(const QString &mimeType);
protected:
void paintEvent(QPaintEvent* event) override;