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
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
4#include <AppKit/AppKit.h>
5
6#include "qcocoamimetypes.h"
7#include <QtGui/qutimimeconverter.h>
8#include "qcocoahelpers.h"
9#include <QtGui/private/qcoregraphics_p.h>
10
12
13using namespace Qt::StringLiterals;
14
16public:
17 QString utiForMime(const QString &mime) const override;
18 QString mimeForUti(const QString &uti) const override;
19 QVariant convertToMime(const QString &mime, const QList<QByteArray> &data,
20 const QString &uti) const override;
21 QList<QByteArray> convertFromMime(const QString &mime, const QVariant &data,
22 const QString &uti) const override;
23};
24
26{
27 if (mime == "text/plain"_L1)
28 return "com.apple.traditional-mac-plain-text"_L1;
29 return QString();
30}
31
33{
34 if (uti == "com.apple.traditional-mac-plain-text"_L1)
35 return "text/plain"_L1;
36 return QString();
37}
38
41 const QList<QByteArray> &data,
42 const QString &uti) const
43{
44 if (data.count() > 1)
45 qWarning("QMacMimeTraditionalMacPlainText: Cannot handle multiple member data");
46 const QByteArray &firstData = data.first();
48 if (uti == "com.apple.traditional-mac-plain-text"_L1) {
49 return QString(QCFString(CFStringCreateWithBytes(kCFAllocatorDefault,
50 reinterpret_cast<const UInt8 *>(firstData.constData()),
51 firstData.size(), CFStringGetSystemEncoding(), false)));
52 } else {
53 qWarning("QMime::convertToMime: unhandled mimetype: %s", qPrintable(mimetype));
54 }
55 return ret;
56}
57
58QList<QByteArray>
60 const QVariant &data,
61 const QString &uti) const
62{
63 QList<QByteArray> ret;
64 QString string = data.toString();
65 if (uti == "com.apple.traditional-mac-plain-text"_L1)
66 ret.append(string.toLatin1());
67 return ret;
68}
69
74
\inmodule QtCore
Definition qbytearray.h:57
QByteArray first(qsizetype n) const &
Definition qbytearray.h:196
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...
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
QString & append(QChar c)
Definition qstring.cpp:3252
The QUtiMimeConverter class converts between a MIME type and a \l{https://developer....
\inmodule QtCore
Definition qvariant.h:65
Combined button and popup list for selecting options.
#define qWarning
Definition qlogging.h:166
return ret
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
#define qPrintable(string)
Definition qstring.h:1531
application x qt windows mime
[2]