Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qutimimeconverter.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QUTIMIMECONVERTER_H
6#define QUTIMIMECONVERTER_H
7
8#include <QtGui/qtguiglobal.h>
9
10#include <QtCore/qlist.h>
11
12QT_BEGIN_NAMESPACE
13
14class QByteArray;
15class QString;
16class QVariant;
17class QMimeData;
18
19class Q_GUI_EXPORT QUtiMimeConverter
20{
21 Q_DISABLE_COPY(QUtiMimeConverter)
22public:
23 enum class HandlerScopeFlag : uint8_t
24 {
25 DnD = 0x01,
26 Clipboard = 0x02,
27 Qt_compatible = 0x04,
28 Qt3_compatible = 0x08,
29 All = DnD|Clipboard,
30 AllCompatible = All|Qt_compatible
31 };
32 Q_DECLARE_FLAGS(HandlerScope, HandlerScopeFlag)
33
34 QUtiMimeConverter();
35 virtual ~QUtiMimeConverter();
36
37 HandlerScope scope() const { return m_scope; }
38 bool canConvert(const QString &mime, const QString &uti) const { return mimeForUti(uti) == mime; }
39
40 // for converting from Qt
41 virtual QList<QByteArray> convertFromMime(const QString &mime, const QVariant &data, const QString &uti) const = 0;
42 virtual QString utiForMime(const QString &mime) const = 0;
43
44 // for converting to Qt
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;
48
49private:
50 friend class QMacMimeTypeName;
51 friend class QMacMimeAny;
52
53 explicit QUtiMimeConverter(HandlerScope scope);
54
55 const HandlerScope m_scope;
56};
57Q_DECLARE_OPERATORS_FOR_FLAGS(QUtiMimeConverter::HandlerScope)
58
59
60QT_END_NAMESPACE
61
62#endif
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)
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.