diff options
Diffstat (limited to 'src/gui/platform/darwin/qutimimeconverter.mm')
-rw-r--r-- | src/gui/platform/darwin/qutimimeconverter.mm | 39 |
1 files changed, 28 insertions, 11 deletions
diff --git a/src/gui/platform/darwin/qutimimeconverter.mm b/src/gui/platform/darwin/qutimimeconverter.mm index 8f8e348c0d..ee643fd0c6 100644 --- a/src/gui/platform/darwin/qutimimeconverter.mm +++ b/src/gui/platform/darwin/qutimimeconverter.mm @@ -3,6 +3,7 @@ #include <ImageIO/ImageIO.h> #include <CoreFoundation/CoreFoundation.h> +#include <UniformTypeIdentifiers/UTCoreTypes.h> #include <QtCore/qsystemdetection.h> #include <QtCore/qurl.h> @@ -36,11 +37,10 @@ using namespace Qt::StringLiterals; /*! \class QUtiMimeConverter - \internal \brief The QUtiMimeConverter class converts between a MIME type and a \l{https://developer.apple.com/documentation/uniformtypeidentifiers} {Uniform Type Identifier (UTI)} format. - \since 4.2 + \since 6.5 \ingroup draganddrop \inmodule QtGui @@ -54,7 +54,21 @@ using namespace Qt::StringLiterals; By subclasses this class, one can extend Qt's drag and drop and clipboard handling to convert to and from unsupported, or proprietary, UTI formats. - A subclass of QUtiMimeConverter will automatically be registered, and active, upon instantiation. + Construct an instance of your converter implementation after instantiating + QGuiApplication: + + \code + int main(int argc, char **argv) + { + QGuiApplication app(argc, argv); + JsonMimeConverter jsonConverter; + } + \endcode + + Destroying the instance will unregister the converter and remove support + for the conversion. It is also valid to heap-allocate the converter + instance; Qt takes ownership and will delete the converter object during + QGuiApplication shut-down. Qt has predefined support for the following UTIs: \list @@ -82,6 +96,7 @@ using namespace Qt::StringLiterals; */ /*! + \internal Constructs a new conversion object of type \a scope, adding it to the globally accessed list of available converters. */ @@ -94,9 +109,11 @@ QUtiMimeConverter::QUtiMimeConverter(HandlerScope scope) /*! Constructs a new conversion object and adds it to the globally accessed list of available converters. + + Call this constructor after QGuiApplication has been created. */ QUtiMimeConverter::QUtiMimeConverter() - : QUtiMimeConverter(HandlerScope::All) + : QUtiMimeConverter(HandlerScopeFlag::All) { } @@ -126,7 +143,7 @@ int QUtiMimeConverter::count(const QMimeData *mimeData) const */ /*! - \fn QString QUtiMimeConverter::mimeForUti(QString uti) + \fn QString QUtiMimeConverter::mimeForUti(const QString &uti) const Returns the MIME type used for Mac UTI \a uti, or an empty string if this converter does not support converting from \a uti. @@ -135,7 +152,7 @@ int QUtiMimeConverter::count(const QMimeData *mimeData) const */ /*! - \fn QString QUtiMimeConverter::utiForMime(const QString &mime) + \fn QString QUtiMimeConverter::utiForMime(const QString &mime) const Returns the Mac UTI used for MIME type \a mime, or an empty string if this converter does not support converting from \a mime. @@ -145,7 +162,7 @@ int QUtiMimeConverter::count(const QMimeData *mimeData) const /*! \fn QVariant QUtiMimeConverter::convertToMime(const QString &mime, - const QList<QByteArray> &data, const QString &uti) + const QList<QByteArray> &data, const QString &uti) const Returns \a data converted from Mac UTI \a uti to MIME type \a mime. @@ -157,7 +174,7 @@ int QUtiMimeConverter::count(const QMimeData *mimeData) const /*! \fn QList<QByteArray> QUtiMimeConverter::convertFromMime(const QString &mime, - const QVariant &data, const QString & uti) + const QVariant &data, const QString & uti) const Returns \a data converted from MIME type \a mime to Mac UTI \a uti. @@ -170,7 +187,7 @@ int QUtiMimeConverter::count(const QMimeData *mimeData) const class QMacMimeAny : public QUtiMimeConverter { public: - QMacMimeAny() : QUtiMimeConverter(HandlerScope::AllCompatible) {} + QMacMimeAny() : QUtiMimeConverter(HandlerScopeFlag::AllCompatible) {} QString utiForMime(const QString &mime) const override; QString mimeForUti(const QString &uti) const override; @@ -225,7 +242,7 @@ class QMacMimeTypeName : public QUtiMimeConverter { private: public: - QMacMimeTypeName(): QUtiMimeConverter(HandlerScope::AllCompatible) {} + QMacMimeTypeName(): QUtiMimeConverter(HandlerScopeFlag::AllCompatible) {} QString utiForMime(const QString &mime) const override; QString mimeForUti(const QString &uti) const override; @@ -763,7 +780,7 @@ QList<QByteArray> QMacMimeTiff::convertFromMime(const QString &mime, QCFType<CFMutableDataRef> data = CFDataCreateMutable(0, 0); QCFType<CGImageDestinationRef> imageDestination = CGImageDestinationCreateWithData(data, - kUTTypeTIFF, 1, 0); + (CFStringRef)UTTypeTIFF.identifier, 1, 0); if (!imageDestination) return QList<QByteArray>(); |