Detailed Description
The QMacMime class maps open-standard MIME to Mac flavors.
Qt's drag and drop support and clipboard facilities use the MIME standard. On X11, this maps trivially to the Xdnd protocol, but on Mac although some applications use MIME types to describe clipboard formats, others use arbitrary non-standardized naming conventions, or unnamed built-in Mac formats.
By instantiating subclasses of QMacMime that provide conversions between Mac flavors and MIME formats, you can convert proprietary clipboard formats to MIME formats.
Qt has predefined support for the following Mac flavors:
- kScrapFlavorTypeUnicode - converted to "text/plain;charset=ISO-10646-UCS-2"
- kScrapFlavorTypeText - converted to "text/plain;charset=system" or "text/plain"
- kScrapFlavorTypePicture - converted to "application/x-qt-image"
- kDragFlavorTypeHFS - converted to "text/uri-list"
- typeFileURL - converted to "text/uri-list"
You can check if a MIME type is convertible using canConvert() and can perform conversions with convertToMime() and convertFromMime().
Member Function Documentation
QMacMime::QMacMime ( char t )
Constructs a new conversion object of type t, adding it to the globally accessed list of available convertors.
QMacMime::~QMacMime () [virtual]
Destroys a conversion object, removing it from the global list of available convertors.
QList<QMacMime *> QMacMime::all ( QMacMimeType t ) [static]
Returns a list of all currently defined QMacMime objects of type t.
bool QMacMime::canConvert ( const QString & mime, int flav ) [pure virtual]
Returns true if the convertor can convert (both ways) between mime and flav; otherwise returns false.
All subclasses must reimplement this pure virtual function.
QList<QByteArray> QMacMime::convertFromMime ( const QString & mime, QVariant data, int flav ) [pure virtual]
Returns data converted from MIME type mime to Mac flavor flav.
Note that Mac flavors must all be self-terminating. The return value may contain trailing data.
All subclasses must reimplement this pure virtual function.
QVariant QMacMime::convertToMime ( const QString & mime, QList<QByteArray> data, int flav ) [pure virtual]
Returns data converted from Mac flavor flav to MIME type mime.
Note that Mac flavors must all be self-terminating. The input data may contain trailing data.
All subclasses must reimplement this pure virtual function.
QMacMime * QMacMime::convertor ( QMacMimeType t, const QString & mime, int flav ) [static]
Returns the most-recently created QMacMime of type t that can convert between the mime and flav formats. Returns 0 if no such convertor exists.
QString QMacMime::convertorName () [pure virtual]
Returns a name for the convertor.
All subclasses must reimplement this pure virtual function.
int QMacMime::countFlavors () [pure virtual]
Returns the number of Mac flavors supported by this convertor.
All subclasses must reimplement this pure virtual function.
int QMacMime::flavor ( int index ) [pure virtual]
Returns the Mac flavor supported by this convertor that is ordinarily at position index. This means that flavor(0) returns the first Mac flavor supported, and flavor(countFlavors()-1) returns the last. If index is out of range the return value is undefined.
All subclasses must reimplement this pure virtual function.
int QMacMime::flavorFor ( const QString & mime ) [pure virtual]
Returns the Mac flavor used for MIME type mime, or 0 if this convertor does not support mime.
All subclasses must reimplement this pure virtual function.
QString QMacMime::flavorToMime ( QMacMimeType t, int flav ) [static]
Returns a MIME type of type t for flav, or 0 if none exists.
QString QMacMime::mimeFor ( int flav ) [pure virtual]
Returns the MIME type used for Mac flavor flav, or 0 if this convertor does not support flav.
All subclasses must reimplement this pure virtual function.