diff options
-rw-r--r-- | include/LibreOfficeKit/LibreOfficeKitEnums.h | 2 | ||||
-rw-r--r-- | include/vcl/unohelp2.hxx | 3 | ||||
-rw-r--r-- | sc/source/ui/view/editsh.cxx | 8 | ||||
-rw-r--r-- | sd/source/ui/view/drviews2.cxx | 12 | ||||
-rw-r--r-- | sw/source/uibase/shells/textsh1.cxx | 8 | ||||
-rw-r--r-- | vcl/source/app/unohelp2.cxx | 6 |
6 files changed, 9 insertions, 30 deletions
diff --git a/include/LibreOfficeKit/LibreOfficeKitEnums.h b/include/LibreOfficeKit/LibreOfficeKitEnums.h index 9a0eb01ca840..ae8eacd9151f 100644 --- a/include/LibreOfficeKit/LibreOfficeKitEnums.h +++ b/include/LibreOfficeKit/LibreOfficeKitEnums.h @@ -646,7 +646,7 @@ typedef enum * * Payload is optional. When payload is empty, Online gets string from selected text. * Payload format is JSON. - * Example: { "mimeType": "string", "content": "some content" } + * Example: { "mimeType": "text/plain", "content": "some content" } */ LOK_CALLBACK_CLIPBOARD_CHANGED = 38, diff --git a/include/vcl/unohelp2.hxx b/include/vcl/unohelp2.hxx index 91c4ce6ce0e2..a0e03a04e2a1 100644 --- a/include/vcl/unohelp2.hxx +++ b/include/vcl/unohelp2.hxx @@ -28,6 +28,7 @@ #include <comphelper/lok.hxx> #include <LibreOfficeKit/LibreOfficeKitEnums.h> #include <boost/property_tree/json_parser.hpp> +#include <vcl/IDialogRenderable.hxx> namespace com::sun::star::datatransfer::clipboard { class XClipboard; @@ -60,7 +61,7 @@ namespace vcl::unohelper { static void CopyStringTo( const OUString& rContent, const css::uno::Reference< css::datatransfer::clipboard::XClipboard >& rxClipboard, - std::function<void (int, const char*)> *callback = nullptr + const vcl::ILibreOfficeKitNotifier* pNotifier = nullptr ); }; diff --git a/sc/source/ui/view/editsh.cxx b/sc/source/ui/view/editsh.cxx index e12c5460c09d..619001a27d8c 100644 --- a/sc/source/ui/view/editsh.cxx +++ b/sc/source/ui/view/editsh.cxx @@ -642,13 +642,7 @@ void ScEditShell::Execute( SfxRequest& rReq ) { uno::Reference<datatransfer::clipboard::XClipboard> xClipboard = GetSystemClipboard(); - if (comphelper::LibreOfficeKit::isActive()) - { - std::function<void (int, const char*)> callback = [&] (int callbackType, const char* text) { rViewData.GetViewShell()->libreOfficeKitViewCallback(callbackType, text); } ; - vcl::unohelper::TextDataObject::CopyStringTo(pURLField->GetURL(), xClipboard, &callback); - } - else - vcl::unohelper::TextDataObject::CopyStringTo(pURLField->GetURL(), xClipboard, nullptr); + vcl::unohelper::TextDataObject::CopyStringTo(pURLField->GetURL(), xClipboard, SfxViewShell::Current()); } } break; diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx index 11f42901b9fd..33203efef9b9 100644 --- a/sd/source/ui/view/drviews2.cxx +++ b/sd/source/ui/view/drviews2.cxx @@ -2251,17 +2251,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) uno::Reference<datatransfer::clipboard::XClipboard> xClipboard = pOutView->GetWindow()->GetClipboard(); - if (comphelper::LibreOfficeKit::isActive()) - { - std::function<void (int, const char*)> callback = [&] (int callbackType, const char* text) - { - SfxViewFrame* pFrame = GetViewFrame(); - pFrame->GetViewShell()->libreOfficeKitViewCallback(callbackType, text); - }; - vcl::unohelper::TextDataObject::CopyStringTo(pURLField->GetURL(), xClipboard, &callback); - } - else - vcl::unohelper::TextDataObject::CopyStringTo(pURLField->GetURL(), xClipboard); + vcl::unohelper::TextDataObject::CopyStringTo(pURLField->GetURL(), xClipboard, SfxViewShell::Current()); } } diff --git a/sw/source/uibase/shells/textsh1.cxx b/sw/source/uibase/shells/textsh1.cxx index 7ac52d334ce1..1344ecacf894 100644 --- a/sw/source/uibase/shells/textsh1.cxx +++ b/sw/source/uibase/shells/textsh1.cxx @@ -1346,13 +1346,7 @@ void SwTextShell::Execute(SfxRequest &rReq) OUString hyperlinkLocation = rINetFormat.GetValue(); ::uno::Reference< datatransfer::clipboard::XClipboard > xClipboard = GetView().GetEditWin().GetClipboard(); - if (comphelper::LibreOfficeKit::isActive()) - { - std::function<void (int, const char*)> callback = [&] (int callbackType, const char* text) { GetView().libreOfficeKitViewCallback(callbackType, text); } ; - vcl::unohelper::TextDataObject::CopyStringTo(hyperlinkLocation, xClipboard, &callback ); - } - else - vcl::unohelper::TextDataObject::CopyStringTo(hyperlinkLocation, xClipboard, nullptr ); + vcl::unohelper::TextDataObject::CopyStringTo(hyperlinkLocation, xClipboard, SfxViewShell::Current()); } else rWrtSh.ClickToINetAttr(rINetFormat); diff --git a/vcl/source/app/unohelp2.cxx b/vcl/source/app/unohelp2.cxx index 8e33aeefc55a..bc3e64573ab2 100644 --- a/vcl/source/app/unohelp2.cxx +++ b/vcl/source/app/unohelp2.cxx @@ -41,7 +41,7 @@ namespace vcl::unohelper { void TextDataObject::CopyStringTo( const OUString& rContent, const uno::Reference< datatransfer::clipboard::XClipboard >& rxClipboard, - std::function<void (int, const char*)> *callback) + const vcl::ILibreOfficeKitNotifier* pNotifier) { SAL_WARN_IF( !rxClipboard.is(), "vcl", "TextDataObject::CopyStringTo: invalid clipboard!" ); if ( !rxClipboard.is() ) @@ -58,14 +58,14 @@ namespace vcl::unohelper { if( xFlushableClipboard.is() ) xFlushableClipboard->flushClipboard(); - if (callback != nullptr && comphelper::LibreOfficeKit::isActive()) + if (pNotifier != nullptr && comphelper::LibreOfficeKit::isActive()) { boost::property_tree::ptree aTree; aTree.put("content", rContent); aTree.put("mimeType", "text/plain"); std::stringstream aStream; boost::property_tree::write_json(aStream, aTree); - (*callback)(LOK_CALLBACK_CLIPBOARD_CHANGED, aStream.str().c_str()); + pNotifier->libreOfficeKitViewCallback(LOK_CALLBACK_CLIPBOARD_CHANGED, aStream.str().c_str()); } } catch( const uno::Exception& ) |