diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/image/qimageiohandler.cpp | 39 | ||||
-rw-r--r-- | src/gui/image/qimageiohandler.h | 10 | ||||
-rw-r--r-- | src/plugins/imageformats/gif/main.cpp | 5 | ||||
-rw-r--r-- | src/plugins/imageformats/gif/main.h | 1 | ||||
-rw-r--r-- | src/plugins/imageformats/ico/main.cpp | 5 | ||||
-rw-r--r-- | src/plugins/imageformats/ico/main.h | 1 | ||||
-rw-r--r-- | src/plugins/imageformats/jpeg/main.cpp | 5 | ||||
-rw-r--r-- | src/plugins/imageformats/jpeg/main.h | 1 |
8 files changed, 13 insertions, 54 deletions
diff --git a/src/gui/image/qimageiohandler.cpp b/src/gui/image/qimageiohandler.cpp index 153412fb29..c58642988e 100644 --- a/src/gui/image/qimageiohandler.cpp +++ b/src/gui/image/qimageiohandler.cpp @@ -171,9 +171,9 @@ support for different image formats to Qt. Writing an image I/O plugin is achieved by subclassing this - base class, reimplementing the pure virtual functions capabilities(), - create(), and keys(), and exporting the class with the - Q_EXPORT_PLUGIN2() macro. See \l{How to Create Qt Plugins} for details. + base class, reimplementing the pure virtual functions capabilities() + and create(), and exporting the class with the + Q_PLUGIN_METADATA() macro. See \l{How to Create Qt Plugins} for details. An image format plugin can support three capabilities: reading (\l CanRead), writing (\l CanWrite) and \e incremental reading (\l @@ -182,8 +182,15 @@ create() should create an instance of your QImageIOHandler subclass, with the provided device and format properly set, and - return this handler. You must also reimplement keys() so that Qt - knows which image formats your plugin supports. + return this handler. + + The json metadata file for the plugin needs to contain information + about the image formats the plugins supports. For a jpeg plugin, this + could e.g. look as follows: + + \code + { "Keys": [ "jpg", "jpeg" ] } + \endcode Different plugins can support different capabilities. For example, you may have one plugin that supports reading the GIF format, and @@ -205,17 +212,6 @@ \value CanReadIncremental The plugin can read images incrementally. */ -/*! - \class QImageIOHandlerFactoryInterface - \brief The QImageIOHandlerFactoryInterface class provides the factory - interface for QImageIOPlugin. - \reentrant - - \internal - - \sa QImageIOPlugin -*/ - #include "qimageiohandler.h" #include <qbytearray.h> @@ -547,17 +543,6 @@ QImageIOPlugin::~QImageIOPlugin() */ /*! - \fn QImageIOPlugin::keys() const - - Returns the list of image keys this plugin supports. - - These keys are usually the names of the image formats that are implemented - in the plugin (e.g., "jpg" or "gif"). - - \sa capabilities() -*/ - -/*! \fn QImageIOHandler *QImageIOPlugin::create(QIODevice *device, const QByteArray &format) const Creates and returns a QImageIOHandler subclass, with \a device diff --git a/src/gui/image/qimageiohandler.h b/src/gui/image/qimageiohandler.h index 0252ec02cc..16784504b6 100644 --- a/src/gui/image/qimageiohandler.h +++ b/src/gui/image/qimageiohandler.h @@ -114,18 +114,11 @@ private: Q_DISABLE_COPY(QImageIOHandler) }; -struct Q_GUI_EXPORT QImageIOHandlerFactoryInterface : public QFactoryInterface -{ - virtual QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const = 0; -}; - #define QImageIOHandlerFactoryInterface_iid "org.qt-project.Qt.QImageIOHandlerFactoryInterface" -Q_DECLARE_INTERFACE(QImageIOHandlerFactoryInterface, QImageIOHandlerFactoryInterface_iid) -class Q_GUI_EXPORT QImageIOPlugin : public QObject, public QImageIOHandlerFactoryInterface +class Q_GUI_EXPORT QImageIOPlugin : public QObject { Q_OBJECT - Q_INTERFACES(QImageIOHandlerFactoryInterface:QFactoryInterface) public: explicit QImageIOPlugin(QObject *parent = 0); virtual ~QImageIOPlugin(); @@ -138,7 +131,6 @@ public: Q_DECLARE_FLAGS(Capabilities, Capability) virtual Capabilities capabilities(QIODevice *device, const QByteArray &format) const = 0; - virtual QStringList keys() const = 0; virtual QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const = 0; }; diff --git a/src/plugins/imageformats/gif/main.cpp b/src/plugins/imageformats/gif/main.cpp index 9dd61c4499..28c7a3d333 100644 --- a/src/plugins/imageformats/gif/main.cpp +++ b/src/plugins/imageformats/gif/main.cpp @@ -62,11 +62,6 @@ QGifPlugin::~QGifPlugin() { } -QStringList QGifPlugin::keys() const -{ - return QStringList() << QLatin1String("gif"); -} - QImageIOPlugin::Capabilities QGifPlugin::capabilities(QIODevice *device, const QByteArray &format) const { if (format == "gif" || (device && device->isReadable() && QGifHandler::canRead(device))) diff --git a/src/plugins/imageformats/gif/main.h b/src/plugins/imageformats/gif/main.h index 97335b1968..51148684bd 100644 --- a/src/plugins/imageformats/gif/main.h +++ b/src/plugins/imageformats/gif/main.h @@ -57,7 +57,6 @@ public: QGifPlugin(); ~QGifPlugin(); - QStringList keys() const; Capabilities capabilities(QIODevice *device, const QByteArray &format) const; QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const; }; diff --git a/src/plugins/imageformats/ico/main.cpp b/src/plugins/imageformats/ico/main.cpp index 9c9525f48f..24138bfce3 100644 --- a/src/plugins/imageformats/ico/main.cpp +++ b/src/plugins/imageformats/ico/main.cpp @@ -45,11 +45,6 @@ QT_BEGIN_NAMESPACE -QStringList QICOPlugin::keys() const -{ - return QStringList() << QLatin1String("ico"); -} - QImageIOPlugin::Capabilities QICOPlugin::capabilities(QIODevice *device, const QByteArray &format) const { if (format == "ico") diff --git a/src/plugins/imageformats/ico/main.h b/src/plugins/imageformats/ico/main.h index 6c7634002a..99e9338e31 100644 --- a/src/plugins/imageformats/ico/main.h +++ b/src/plugins/imageformats/ico/main.h @@ -56,7 +56,6 @@ class QICOPlugin : public QImageIOPlugin Q_OBJECT Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "ico.json") public: - QStringList keys() const; Capabilities capabilities(QIODevice *device, const QByteArray &format) const; QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const; }; diff --git a/src/plugins/imageformats/jpeg/main.cpp b/src/plugins/imageformats/jpeg/main.cpp index ecda04864b..aeea040261 100644 --- a/src/plugins/imageformats/jpeg/main.cpp +++ b/src/plugins/imageformats/jpeg/main.cpp @@ -50,11 +50,6 @@ QT_BEGIN_NAMESPACE -QStringList QJpegPlugin::keys() const -{ - return QStringList() << QLatin1String("jpeg") << QLatin1String("jpg"); -} - QImageIOPlugin::Capabilities QJpegPlugin::capabilities(QIODevice *device, const QByteArray &format) const { if (format == "jpeg" || format == "jpg") diff --git a/src/plugins/imageformats/jpeg/main.h b/src/plugins/imageformats/jpeg/main.h index 8606eabdd9..99379a72d4 100644 --- a/src/plugins/imageformats/jpeg/main.h +++ b/src/plugins/imageformats/jpeg/main.h @@ -55,7 +55,6 @@ class QJpegPlugin : public QImageIOPlugin Q_OBJECT Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "jpeg.json") public: - QStringList keys() const; Capabilities capabilities(QIODevice *device, const QByteArray &format) const; QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const; }; |