summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wayland/qwaylandclipboard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/wayland/qwaylandclipboard.cpp')
-rw-r--r--src/plugins/platforms/wayland/qwaylandclipboard.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/plugins/platforms/wayland/qwaylandclipboard.cpp b/src/plugins/platforms/wayland/qwaylandclipboard.cpp
index da5da4285a..f90d1a9802 100644
--- a/src/plugins/platforms/wayland/qwaylandclipboard.cpp
+++ b/src/plugins/platforms/wayland/qwaylandclipboard.cpp
@@ -42,6 +42,7 @@
#include "qwaylandclipboard.h"
#include "qwaylanddisplay.h"
#include "qwaylandinputdevice.h"
+#include "qwaylandmime.h"
#include <QtGui/QPlatformNativeInterface>
#include <QtGui/QGuiApplication>
#include <QtCore/QMimeData>
@@ -49,10 +50,11 @@
#include <QtCore/QFile>
#include <QtCore/QtDebug>
#include <QtGui/private/qdnd_p.h>
+#include <QtCore/private/qcore_unix_p.h> // for QT_READ
static QWaylandClipboard *clipboard = 0;
-class QWaylandMimeData : public QInternalMimeData
+class QWaylandClipboardMimeData : public QInternalMimeData
{
public:
void clearAll();
@@ -64,28 +66,28 @@ private:
QStringList mFormatList;
};
-void QWaylandMimeData::clearAll()
+void QWaylandClipboardMimeData::clearAll()
{
clear();
mFormatList.clear();
}
-void QWaylandMimeData::setFormats(const QStringList &formatList)
+void QWaylandClipboardMimeData::setFormats(const QStringList &formatList)
{
mFormatList = formatList;
}
-bool QWaylandMimeData::hasFormat_sys(const QString &mimeType) const
+bool QWaylandClipboardMimeData::hasFormat_sys(const QString &mimeType) const
{
return formats().contains(mimeType);
}
-QStringList QWaylandMimeData::formats_sys() const
+QStringList QWaylandClipboardMimeData::formats_sys() const
{
return mFormatList;
}
-QVariant QWaylandMimeData::retrieveData_sys(const QString &mimeType, QVariant::Type type) const
+QVariant QWaylandClipboardMimeData::retrieveData_sys(const QString &mimeType, QVariant::Type type) const
{
return clipboard->retrieveData(mimeType, type);
}
@@ -147,7 +149,7 @@ void QWaylandSelection::send(void *data,
Q_UNUSED(selection);
QWaylandSelection *self = static_cast<QWaylandSelection *>(data);
QString mimeType = QString::fromLatin1(mime_type);
- QByteArray content = self->mMimeData->data(mimeType);
+ QByteArray content = QWaylandMimeHelper::getByteArray(self->mMimeData, mimeType);
if (!content.isEmpty()) {
QFile f;
if (f.open(fd, QIODevice::WriteOnly))
@@ -218,7 +220,7 @@ QVariant QWaylandClipboard::retrieveData(const QString &mimeType, QVariant::Type
char buf[256];
int n;
close(pipefd[1]);
- while ((n = read(pipefd[0], &buf, sizeof buf)) > 0)
+ while ((n = QT_READ(pipefd[0], &buf, sizeof buf)) > 0)
content.append(buf, n);
close(pipefd[0]);
return content;
@@ -230,7 +232,7 @@ QMimeData *QWaylandClipboard::mimeData(QClipboard::Mode mode)
if (!mSelections.isEmpty())
return mSelections.last()->mMimeData;
if (!mMimeDataIn)
- mMimeDataIn = new QWaylandMimeData;
+ mMimeDataIn = new QWaylandClipboardMimeData;
mMimeDataIn->clearAll();
if (!mOfferedMimeTypes.isEmpty() && mOffer)
mMimeDataIn->setFormats(mOfferedMimeTypes);