13QByteArray QWaylandMimeHelper::getByteArray(QMimeData *mimeData,
const QString &mimeType)
16 if (mimeType == QLatin1String(
"text/plain")) {
17 content = mimeData->text().toUtf8();
18 }
else if (mimeData->hasImage()
19 && (mimeType == QLatin1String(
"application/x-qt-image")
20 || mimeType.startsWith(QLatin1String(
"image/")))) {
21 QImage image = qvariant_cast<QImage>(mimeData->imageData());
22 if (!image.isNull()) {
24 buf.open(QIODevice::ReadWrite);
25 QByteArray fmt =
"BMP";
26 if (mimeType.startsWith(QLatin1String(
"image/"))) {
27 QByteArray imgFmt = mimeType.mid(6).toLower().toLatin1();
28 if (QImageWriter::supportedImageFormats().contains(imgFmt))
31 QImageWriter wr(&buf, fmt);
33 content = buf.buffer();
35 }
else if (mimeType == QLatin1String(
"application/x-color")) {
36 content = qvariant_cast<QColor>(mimeData->colorData()).name().toLatin1();
37 }
else if (mimeType == QLatin1String(
"text/uri-list")) {
38 QList<QUrl> urls = mimeData->urls();
39 for (
int i = 0; i < urls.size(); ++i) {
40 content.append(urls.at(i).toEncoded());
41 content.append(
"\r\n");
44 content = mimeData->data(mimeType);