47 if (originalMime == newMime)
53 if (originalMime == uriList() && newMime == mozUrl()) {
54 if (data.size() > 1) {
55 const quint8 byte0 = data.at(0);
56 const quint8 byte1 = data.at(1);
58 if ((byte0 == 0xff && byte1 == 0xfe) || (byte0 == 0xfe && byte1 == 0xff)
59 || (byte0 != 0 && byte1 == 0) || (byte0 == 0 && byte1 != 0)) {
61 const QString str = QString::fromUtf16(
62 reinterpret_cast<
const char16_t *>(data.constData()), data.size() / 2);
64 const auto urls = QStringView{str}.split(u'\n');
66 for (
int i = 0; i < urls.size(); i += 2) {
67 const QUrl url(urls.at(i).trimmed().toString());
69 converted += url.toEncoded();
77 QByteArray converted = data;
78 if (converted.endsWith(
'\0'))
200 auto it = m_data.constFind(mimeType);
201 if (it != m_data.constEnd())
204 QString mime = mimeType;
206 if (!m_types.contains(mimeType)) {
207 if (mimeType == plainText() && m_types.contains(utf8Text()))
209 else if (mimeType == uriList() && m_types.contains(mozUrl()))
216 if (qt_safe_pipe(pipefd) == -1) {
217 qWarning(
"QWaylandMimeData: pipe2() failed");
221 m_dataOffer->startReceiving(mime, pipefd[1]);
226 if (readData(pipefd[0], content) != 0) {
227 qWarning(
"QWaylandDataOffer: error reading data for mimeType %s", qPrintable(mimeType));
228 content = QByteArray();
233 content = convertData(mimeType, mime, content);
235 if (mimeType != portalFileTransfer())
236 m_data.insert(mimeType, content);