forked from qt-creator/qt-creator
ImageViewer: Add up-to-date mimetypes (and add webp mimetype)
The list of mimetypes was missing new types like tga, dds and webp. Just ask QImageReader::supportedMimeTypes() for the supported types, which is also easier to maintain. Task-number: QTBUG-45061 Change-Id: I80573da868088915b8d746c56374786e5e36903c Reviewed-by: hjk <hjk@theqtcompany.com> Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
9
src/plugins/imageviewer/ImageViewer.mimetypes.xml
Normal file
9
src/plugins/imageviewer/ImageViewer.mimetypes.xml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
|
||||||
|
|
||||||
|
<mime-type type="image/webp">
|
||||||
|
<comment>WebP Image file</comment>
|
||||||
|
<glob pattern="*.webp"/>
|
||||||
|
</mime-type>
|
||||||
|
|
||||||
|
</mime-info>
|
||||||
@@ -8,5 +8,6 @@
|
|||||||
<file>images/background.png</file>
|
<file>images/background.png</file>
|
||||||
<file>images/pause-small.png</file>
|
<file>images/pause-small.png</file>
|
||||||
<file>images/play-small.png</file>
|
<file>images/play-small.png</file>
|
||||||
|
<file>ImageViewer.mimetypes.xml</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|||||||
@@ -47,29 +47,14 @@ ImageViewerFactory::ImageViewerFactory(QObject *parent) :
|
|||||||
setId(Constants::IMAGEVIEWER_ID);
|
setId(Constants::IMAGEVIEWER_ID);
|
||||||
setDisplayName(qApp->translate("OpenWith::Editors", Constants::IMAGEVIEWER_DISPLAY_NAME));
|
setDisplayName(qApp->translate("OpenWith::Editors", Constants::IMAGEVIEWER_DISPLAY_NAME));
|
||||||
|
|
||||||
QMap<QByteArray, const char *> possibleMimeTypes;
|
const QList<QByteArray> supportedMimeTypes = QImageReader::supportedMimeTypes();
|
||||||
possibleMimeTypes.insert("bmp", "image/bmp");
|
foreach (const QByteArray &format, supportedMimeTypes)
|
||||||
possibleMimeTypes.insert("gif", "image/gif");
|
addMimeType(format.constData());
|
||||||
possibleMimeTypes.insert("ico", "image/x-icon");
|
|
||||||
possibleMimeTypes.insert("jpeg","image/jpeg");
|
|
||||||
possibleMimeTypes.insert("jpg", "image/jpeg");
|
|
||||||
possibleMimeTypes.insert("mng", "video/x-mng");
|
|
||||||
possibleMimeTypes.insert("pbm", "image/x-portable-bitmap");
|
|
||||||
possibleMimeTypes.insert("pgm", "image/x-portable-graymap");
|
|
||||||
possibleMimeTypes.insert("png", "image/png");
|
|
||||||
possibleMimeTypes.insert("ppm", "image/x-portable-pixmap");
|
|
||||||
possibleMimeTypes.insert("svg", "image/svg+xml");
|
|
||||||
possibleMimeTypes.insert("tif", "image/tiff");
|
|
||||||
possibleMimeTypes.insert("tiff","image/tiff");
|
|
||||||
possibleMimeTypes.insert("xbm", "image/xbm");
|
|
||||||
possibleMimeTypes.insert("xpm", "image/xpm");
|
|
||||||
|
|
||||||
QList<QByteArray> supportedFormats = QImageReader::supportedImageFormats();
|
#if (QT_VERSION < QT_VERSION_CHECK(5, 5, 0)) && !QT_NO_SVGRENDERER
|
||||||
foreach (const QByteArray &format, supportedFormats) {
|
// Workaround for https://codereview.qt-project.org/108693
|
||||||
const char *value = possibleMimeTypes.value(format);
|
addMimeType("image/svg+xml");
|
||||||
if (value)
|
#endif
|
||||||
addMimeType(value);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Core::IEditor *ImageViewerFactory::createEditor()
|
Core::IEditor *ImageViewerFactory::createEditor()
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
#include <coreplugin/icore.h>
|
#include <coreplugin/icore.h>
|
||||||
#include <coreplugin/id.h>
|
#include <coreplugin/id.h>
|
||||||
#include <extensionsystem/pluginmanager.h>
|
#include <extensionsystem/pluginmanager.h>
|
||||||
|
#include <utils/mimetypes/mimedatabase.h>
|
||||||
|
|
||||||
namespace ImageViewer {
|
namespace ImageViewer {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
@@ -49,6 +50,8 @@ bool ImageViewerPlugin::initialize(const QStringList &arguments, QString *errorM
|
|||||||
Q_UNUSED(arguments)
|
Q_UNUSED(arguments)
|
||||||
Q_UNUSED(errorMessage)
|
Q_UNUSED(errorMessage)
|
||||||
|
|
||||||
|
Utils::MimeDatabase::addMimeTypes(QLatin1String(":/imageviewer/ImageViewer.mimetypes.xml"));
|
||||||
|
|
||||||
m_factory = new ImageViewerFactory(this);
|
m_factory = new ImageViewerFactory(this);
|
||||||
addAutoReleasedObject(m_factory);
|
addAutoReleasedObject(m_factory);
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in New Issue
Block a user