From 96c709b6143e1316adf927ff73de757a0b3fbe7e Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Thu, 15 Jun 2023 00:46:39 +0300 Subject: [PATCH] gwenview: merge MIME type functions also mimeTypeKind() was not checking if the result of rawImageMimeTypes() contains the MIME type Signed-off-by: Ivailo Monev --- gwenview/lib/mimetypeutils.cpp | 45 ++++++---------------------------- gwenview/lib/mimetypeutils.h | 3 --- 2 files changed, 7 insertions(+), 41 deletions(-) diff --git a/gwenview/lib/mimetypeutils.cpp b/gwenview/lib/mimetypeutils.cpp index f792a79b..2b15cceb 100644 --- a/gwenview/lib/mimetypeutils.cpp +++ b/gwenview/lib/mimetypeutils.cpp @@ -61,11 +61,15 @@ static void resolveAliasInList(QStringList* list) } } -const QStringList& rawImageMimeTypes() +const QStringList& imageMimeTypes() { - // need to invent more intelligent way to whitelist raws static QStringList list; if (list.isEmpty()) { + list = KImageIO::mimeTypes(KImageIO::Reading); + + list << "image/svg+xml" << "image/svg+xml-compressed"; + + // need to invent more intelligent way to whitelist raws list << "image/x-nikon-nef" << "image/x-nikon-nrw" << "image/x-canon-cr2" << "image/x-canon-crw" << "image/x-pentax-pef" << "image/x-adobe-dng" @@ -75,40 +79,8 @@ const QStringList& rawImageMimeTypes() << "image/x-fuji-raf" << "image/x-kodak-dcr" << "image/x-kodak-kdc" << "image/x-kodak-k25" << "image/x-sigma-x3f"; - resolveAliasInList(&list); - } - return list; -} -const QStringList& rasterImageMimeTypes() -{ - static QStringList list; - if (list.isEmpty()) { - list = KImageIO::mimeTypes(KImageIO::Reading); resolveAliasInList(&list); - // We want svg images to be considered as raster images - list += svgImageMimeTypes(); - list += rawImageMimeTypes(); - } - return list; -} - -const QStringList& svgImageMimeTypes() -{ - static QStringList list; - if (list.isEmpty()) { - list << "image/svg+xml" << "image/svg+xml-compressed"; - resolveAliasInList(&list); - } - return list; -} - -const QStringList& imageMimeTypes() -{ - static QStringList list; - if (list.isEmpty()) { - list = rasterImageMimeTypes(); - list += svgImageMimeTypes(); } return list; @@ -132,10 +104,7 @@ QString urlMimeType(const KUrl& url) Kind mimeTypeKind(const QString& mimeType) { - if (rasterImageMimeTypes().contains(mimeType)) { - return KIND_IMAGE; - } - if (svgImageMimeTypes().contains(mimeType)) { + if (imageMimeTypes().contains(mimeType)) { return KIND_IMAGE; } // if it is image but it is not one of the static MIME types attempt to open it anyway diff --git a/gwenview/lib/mimetypeutils.h b/gwenview/lib/mimetypeutils.h index a761ff10..ea908e24 100644 --- a/gwenview/lib/mimetypeutils.h +++ b/gwenview/lib/mimetypeutils.h @@ -35,9 +35,6 @@ namespace Gwenview namespace MimeTypeUtils { -GWENVIEWLIB_EXPORT const QStringList& rawImageMimeTypes(); -GWENVIEWLIB_EXPORT const QStringList& rasterImageMimeTypes(); -GWENVIEWLIB_EXPORT const QStringList& svgImageMimeTypes(); GWENVIEWLIB_EXPORT const QStringList& imageMimeTypes(); GWENVIEWLIB_EXPORT QString urlMimeType(const KUrl&);