summaryrefslogtreecommitdiffstats
path: root/src/gui/platform/darwin/qutimimeconverter.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/platform/darwin/qutimimeconverter.mm')
-rw-r--r--src/gui/platform/darwin/qutimimeconverter.mm39
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>();