5#ifndef QUTIMIMECONVERTER_H
6#define QUTIMIMECONVERTER_H
8#include <QtGui/qtguiglobal.h>
10#include <QtCore/qlist.h>
21 Q_DISABLE_COPY(QUtiMimeConverter)
23 enum class HandlerScopeFlag : uint8_t
28 Qt3_compatible = 0x08,
30 AllCompatible = All|Qt_compatible
32 Q_DECLARE_FLAGS(HandlerScope, HandlerScopeFlag)
35 virtual ~QUtiMimeConverter();
38 bool canConvert(
const QString &mime,
const QString &uti)
const {
return mimeForUti(uti) == mime; }
42 virtual QString
utiForMime(
const QString &mime)
const = 0;
45 virtual QString
mimeForUti(
const QString &uti)
const = 0;
46 virtual QVariant
convertToMime(
const QString &mime,
const QList<QByteArray> &data,
const QString &uti)
const = 0;
47 virtual int count(
const QMimeData *mimeData)
const;
50 friend class QMacMimeTypeName;
53 explicit QUtiMimeConverter(HandlerScope scope);
55 const HandlerScope m_scope;
57Q_DECLARE_OPERATORS_FOR_FLAGS(QUtiMimeConverter::HandlerScope)
QList< QUtiMimeConverter * > MimeList
The QUtiMimeConverter class converts between a MIME type and a \l{https://developer....
virtual QString utiForMime(const QString &mime) const =0
Returns the Mac UTI used for MIME type mime, or an empty string if this converter does not support co...
bool canConvert(const QString &mime, const QString &uti) const
Returns true if the converter can convert (both ways) between mime and uti; otherwise returns false.
virtual QString mimeForUti(const QString &uti) const =0
Returns the MIME type used for Mac UTI uti, or an empty string if this converter does not support con...
virtual QList< QByteArray > convertFromMime(const QString &mime, const QVariant &data, const QString &uti) const =0
Returns data converted from MIME type mime to Mac UTI uti.
virtual QVariant convertToMime(const QString &mime, const QList< QByteArray > &data, const QString &uti) const =0
Returns data converted from Mac UTI uti to MIME type mime.
HandlerScope scope() const
virtual int count(const QMimeData *mimeData) const
Returns the item count for the given mimeData.
void unregisterMimeConverter(QUtiMimeConverter *macMime)
void initializeMimeTypes()
const QStringList & enabledDraggedTypes()
QList< QUtiMimeConverter * > all(QUtiMimeConverter::HandlerScope scope)
QString flavorToMime(QUtiMimeConverter::HandlerScope scope, const QString &uti)
void registerDraggedTypes(const QStringList &types)
void registerMimeConverter(QUtiMimeConverter *macMime)
Combined button and popup list for selecting options.