gwenview: merge MIME type functions

also mimeTypeKind() was not checking if the result of rawImageMimeTypes()
contains the MIME type

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2023-06-15 00:46:39 +03:00
parent 6f52fa6301
commit 96c709b614
2 changed files with 7 additions and 41 deletions

View file

@ -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

View file

@ -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&);