Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
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
4#ifndef QUTIMIMECONVERTER_H
5#define QUTIMIMECONVERTER_H
6
7#include <QtGui/qtguiglobal.h>
8
9#include <QtCore/qlist.h>
10
12
13class QByteArray;
14class QString;
15class QVariant;
16class QMimeData;
17
18class Q_GUI_EXPORT QUtiMimeConverter
19{
20 Q_DISABLE_COPY(QUtiMimeConverter)
21public:
22 enum class HandlerScopeFlag : uint8_t
23 {
24 DnD = 0x01,
25 Clipboard = 0x02,
26 Qt_compatible = 0x04,
27 Qt3_compatible = 0x08,
28 All = DnD|Clipboard,
29 AllCompatible = All|Qt_compatible
30 };
31 Q_DECLARE_FLAGS(HandlerScope, HandlerScopeFlag)
32
34 virtual ~QUtiMimeConverter();
35
36 HandlerScope scope() const { return m_scope; }
37 bool canConvert(const QString &mime, const QString &uti) const { return mimeForUti(uti) == mime; }
38
39 // for converting from Qt
40 virtual QList<QByteArray> convertFromMime(const QString &mime, const QVariant &data, const QString &uti) const = 0;
41 virtual QString utiForMime(const QString &mime) const = 0;
42
43 // for converting to Qt
44 virtual QString mimeForUti(const QString &uti) const = 0;
45 virtual QVariant convertToMime(const QString &mime, const QList<QByteArray> &data, const QString &uti) const = 0;
46 virtual int count(const QMimeData *mimeData) const;
47
48private:
49 friend class QMacMimeTypeName;
50 friend class QMacMimeAny;
51
52 explicit QUtiMimeConverter(HandlerScope scope);
53
54 const HandlerScope m_scope;
55};
56Q_DECLARE_OPERATORS_FOR_FLAGS(QUtiMimeConverter::HandlerScope)
57
58
60
61#endif
62
\inmodule QtCore
Definition qbytearray.h:57
\inmodule QtCore
Definition qmimedata.h:16
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
The QUtiMimeConverter class converts between a MIME type and a \l{https://developer....
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 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.
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.
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.
HandlerScope scope() const
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...
\inmodule QtCore
Definition qvariant.h:65
Combined button and popup list for selecting options.
#define Q_DECLARE_FLAGS(Flags, Enum)
Definition qflags.h:174
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)
Definition qflags.h:194
GLenum GLenum GLsizei count
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
application x qt windows mime
[2]
QMimeData * mimeData