Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qwaylandmimehelper.cpp
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
"qwaylandmimehelper_p.h"
6
#
include
<
QImage
>
7
#
include
<
QColor
>
8
#
include
<
QUrl
>
9
#
include
<
QBuffer
>
10
#
include
<
QImageWriter
>
11
12
QT_BEGIN_NAMESPACE
13
14
QByteArray QWaylandMimeHelper::getByteArray(QMimeData *mimeData,
const
QString &mimeType)
15
{
16
QByteArray content;
17
if
(mimeType == QLatin1String(
"text/plain"
)) {
18
content = mimeData->text().toUtf8();
19
}
else
if
(mimeData->hasImage()
20
&& (mimeType == QLatin1String(
"application/x-qt-image"
)
21
|| mimeType.startsWith(QLatin1String(
"image/"
)))) {
22
QImage image = qvariant_cast<QImage>(mimeData->imageData());
23
if
(!image.isNull()) {
24
QBuffer buf;
25
buf.open(QIODevice::ReadWrite);
26
QByteArray fmt =
"BMP"
;
27
if
(mimeType.startsWith(QLatin1String(
"image/"
))) {
28
QByteArray imgFmt = mimeType.mid(6).toLower().toLatin1();
29
if
(QImageWriter::supportedImageFormats().contains(imgFmt))
30
fmt = imgFmt;
31
}
32
QImageWriter wr(&buf, fmt);
33
wr.write(image);
34
content = buf.buffer();
35
}
36
}
else
if
(mimeType == QLatin1String(
"application/x-color"
)) {
37
content = qvariant_cast<QColor>(mimeData->colorData()).name().toLatin1();
38
}
else
if
(mimeType == QLatin1String(
"text/uri-list"
)) {
39
QList<QUrl> urls = mimeData->urls();
40
for
(
int
i = 0; i < urls.size(); ++i) {
41
content.append(urls.at(i).toEncoded());
42
content.append(
"\r\n"
);
43
}
44
}
else
{
45
content = mimeData->data(mimeType);
46
}
47
return
content;
48
}
49
50
QT_END_NAMESPACE
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtbase
src
plugins
platforms
wayland
shared
qwaylandmimehelper.cpp
Generated on
for Qt by
1.18.0