summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
Diffstat (limited to 'vcl')
-rw-r--r--vcl/qt5/Qt5Clipboard.cxx18
1 files changed, 15 insertions, 3 deletions
diff --git a/vcl/qt5/Qt5Clipboard.cxx b/vcl/qt5/Qt5Clipboard.cxx
index ac2daae520c8..68fabdf8583f 100644
--- a/vcl/qt5/Qt5Clipboard.cxx
+++ b/vcl/qt5/Qt5Clipboard.cxx
@@ -13,7 +13,11 @@
#include <cppuhelper/supportsservice.hxx>
#include <vcl/svapp.hxx>
+#include <QtWidgets/QApplication>
+#include <QtGui/QClipboard>
+
#include <Qt5Clipboard.hxx>
+#include <Qt5Tools.hxx>
std::vector<css::datatransfer::DataFlavor> Qt5Transferable::getTransferDataFlavorsAsVector()
{
@@ -46,11 +50,19 @@ Qt5Transferable::isDataFlavorSupported(const css::datatransfer::DataFlavor& /*rF
*/
css::uno::Any SAL_CALL
-Qt5Transferable::getTransferData(const css::datatransfer::DataFlavor& /*rFlavor*/)
+Qt5Transferable::getTransferData(const css::datatransfer::DataFlavor& rFlavor)
{
css::uno::Any aRet;
- Sequence<sal_Int8> aSeq(0, 4); //FIXME
- aRet <<= aSeq;
+
+ if (rFlavor.MimeType == "text/plain;charset=utf-16")
+ {
+ const QClipboard* clipboard = QApplication::clipboard();
+ QString clipboardContent = clipboard->text();
+ OUString sContent = toOUString(clipboardContent);
+
+ aRet <<= sContent.replaceAll("\r\n", "\n");
+ }
+
return aRet;
}