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
qcocoamimetypes.mm
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#include <AppKit/AppKit.h>
6
8#include <QtGui/qutimimeconverter.h>
10#include <QtGui/private/qcoregraphics_p.h>
11
12QT_BEGIN_NAMESPACE
13
14using namespace Qt::StringLiterals;
15
17public:
18 QString utiForMime(const QString &mime) const override;
19 QString mimeForUti(const QString &uti) const override;
20 QVariant convertToMime(const QString &mime, const QList<QByteArray> &data,
21 const QString &uti) const override;
22 QList<QByteArray> convertFromMime(const QString &mime, const QVariant &data,
23 const QString &uti) const override;
24};
25
27{
28 if (mime == "text/plain"_L1)
29 return "com.apple.traditional-mac-plain-text"_L1;
30 return QString();
31}
32
34{
35 if (uti == "com.apple.traditional-mac-plain-text"_L1)
36 return "text/plain"_L1;
37 return QString();
38}
39
42 const QList<QByteArray> &data,
43 const QString &uti) const
44{
45 if (data.count() > 1)
46 qWarning("QMacMimeTraditionalMacPlainText: Cannot handle multiple member data");
47 const QByteArray &firstData = data.first();
48 QVariant ret;
49 if (uti == "com.apple.traditional-mac-plain-text"_L1) {
50 return QString(QCFString(CFStringCreateWithBytes(kCFAllocatorDefault,
51 reinterpret_cast<const UInt8 *>(firstData.constData()),
52 firstData.size(), CFStringGetSystemEncoding(), false)));
53 } else {
54 qWarning("QMime::convertToMime: unhandled mimetype: %s", qPrintable(mimetype));
55 }
56 return ret;
57}
58
61 const QVariant &data,
62 const QString &uti) const
63{
64 QList<QByteArray> ret;
65 QString string = data.toString();
66 if (uti == "com.apple.traditional-mac-plain-text"_L1)
67 ret.append(string.toLatin1());
68 return ret;
69}
70
75
76QT_END_NAMESPACE
static void initializeMimeTypes()
QList< QByteArray > convertFromMime(const QString &mime, const QVariant &data, const QString &uti) const override
Returns data converted from MIME type mime to Mac UTI uti.
QString mimeForUti(const QString &uti) const override
Returns the MIME type used for Mac UTI uti, or an empty string if this converter does not support con...
QVariant convertToMime(const QString &mime, const QList< QByteArray > &data, const QString &uti) const override
Returns data converted from Mac UTI uti to MIME type mime.
QString utiForMime(const QString &mime) const override
Returns the Mac UTI used for MIME type mime, or an empty string if this converter does not support co...