Blob Blame History Raw
From 2ff05dd30cb865b4a44d988370eb554acdca522a Mon Sep 17 00:00:00 2001
From: Miklos Vajna <vmiklos@collabora.co.uk>
Date: Thu, 22 Oct 2015 09:41:29 +0200
Subject: [PATCH 232/398] vcl: add Window::SetClipboard()

Change-Id: I385f64b7d5015c9a34f34a436b0ee2ce6b3a83d3
(cherry picked from commit 98cdb563c1c63e93b4722721354d86848d2cd2c2)
---
 include/vcl/window.hxx       | 2 ++
 vcl/source/window/window.cxx | 6 ++++++
 2 files changed, 8 insertions(+)

diff --git a/include/vcl/window.hxx b/include/vcl/window.hxx
index ae2894001974..eb8cf4bc1df1 100644
--- a/include/vcl/window.hxx
+++ b/include/vcl/window.hxx
@@ -1298,6 +1298,8 @@ public:
 
     // Clipboard/Selection interfaces
     ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::clipboard::XClipboard > GetClipboard();
+    /// Sets a custom clipboard for the window's frame, instead of creating it on-demand using css::datatransfer::clipboard::SystemClipboard.
+    void SetClipboard(css::uno::Reference<css::datatransfer::clipboard::XClipboard> xClipboard);
     ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::clipboard::XClipboard > GetPrimarySelection();
 
     /*
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index e8d2b9615d92..0a01a14f4530 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -3355,6 +3355,12 @@ void Window::ImplCallActivateListeners( vcl::Window *pOld )
     }
 }
 
+void Window::SetClipboard(Reference<XClipboard> xClipboard)
+{
+    if (mpWindowImpl->mpFrameData)
+        mpWindowImpl->mpFrameData->mxClipboard = xClipboard;
+}
+
 Reference< XClipboard > Window::GetClipboard()
 {
 
-- 
2.12.0