diff options
author | Gunnar Sletta <gunnar.sletta@nokia.com> | 2011-08-25 10:11:49 +0200 |
---|---|---|
committer | Gunnar Sletta <gunnar.sletta@nokia.com> | 2011-08-25 12:48:52 +0200 |
commit | 04d0a9626ce61b2e05a40f9562c2bcf12e234639 (patch) | |
tree | f1643f829aedc9ac51fcc260f7df2639dfe08360 /src/plugins/platforms/wayland/qwaylandclipboard.cpp | |
parent | 17f3451daa286b88a52f18c802d7b158dfb653b2 (diff) | |
parent | bdc417b3828737334723eae23097c85f70c23a33 (diff) |
Merge branch 'master' into refactor
Conflicts:
src/gui/kernel/qapplication_qpa.cpp
src/gui/kernel/qcursor_qpa.cpp
src/gui/kernel/qwindowsysteminterface_qpa.cpp
src/gui/kernel/qwindowsysteminterface_qpa.h
src/gui/kernel/qwindowsysteminterface_qpa_p.h
src/gui/text/qtextcontrol.cpp
src/plugins/platforms/wayland/wayland.pro
src/widgets/accessible/qaccessible2.h
src/widgets/widgets/qwidgetlinecontrol_p.h
Change-Id: I5e6f4eb184159dccc67e8f13673edb884d179c74
Diffstat (limited to 'src/plugins/platforms/wayland/qwaylandclipboard.cpp')
-rw-r--r-- | src/plugins/platforms/wayland/qwaylandclipboard.cpp | 20 |
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); |