diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.cpp')
-rw-r--r-- | src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.cpp | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.cpp index 9d2c452ff0..c23e42eaac 100644 --- a/src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.cpp +++ b/src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.cpp @@ -95,21 +95,7 @@ void ClipboardQt::clearData(const String& type) return; if (m_writableData) { -#if QT_VERSION >= 0x040400 m_writableData->removeFormat(type); -#else - const QString toClearType = type; - QMap<QString, QByteArray> formats; - foreach (QString format, m_writableData->formats()) { - if (format != toClearType) - formats[format] = m_writableData->data(format); - } - - m_writableData->clear(); - QMap<QString, QByteArray>::const_iterator it, end = formats.constEnd(); - for (it = formats.begin(); it != end; ++it) - m_writableData->setData(it.key(), it.value()); -#endif if (m_writableData->formats().isEmpty()) { if (isForDragging()) delete m_writableData; @@ -304,6 +290,19 @@ void ClipboardQt::writeRange(Range* range, Frame* frame) #endif } +void ClipboardQt::writePlainText(const String& str) +{ + if (!m_writableData) + m_writableData = new QMimeData; + QString text = str; + text.replace(QChar(0xa0), QLatin1Char(' ')); + m_writableData->setText(text); +#ifndef QT_NO_CLIPBOARD + if (!isForDragging()) + QApplication::clipboard()->setMimeData(m_writableData); +#endif +} + bool ClipboardQt::hasData() { const QMimeData *data = m_readableData ? m_readableData : m_writableData; |