14QByteArray QWaylandMimeHelper::getByteArray(QMimeData *mimeData,
const QString &mimeType)
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()) {
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))
32 QImageWriter wr(&buf, fmt);
34 content = buf.buffer();
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");
45 content = mimeData->data(mimeType);