From 26772e210d131e1566309c79c739519d810be7d7 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Mon, 13 Jun 2016 11:27:02 +0200 Subject: [PATCH] editeng: implement per-view LOK_CALLBACK_TEXT_SELECTION These were the last callback invocations in editeng that did not support the per-view callback. Change-Id: Ic703f6708a37f059dcdbbc321d6b18a7fd04edae Reviewed-on: https://gerrit.libreoffice.org/26216 Reviewed-by: Miklos Vajna Tested-by: Jenkins --- editeng/source/editeng/impedit.cxx | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/editeng/source/editeng/impedit.cxx b/editeng/source/editeng/impedit.cxx index 577aef8d1818..d2e4ff30c9f4 100644 --- a/editeng/source/editeng/impedit.cxx +++ b/editeng/source/editeng/impedit.cxx @@ -401,14 +401,22 @@ void ImpEditView::DrawSelection( EditSelection aTmpSel, vcl::Region* pRegion, Ou if (bMm100ToTwip) aStart = OutputDevice::LogicToLogic(aStart, MAP_100TH_MM, MAP_TWIP); aStart.Move(aOrigin.getX(), aOrigin.getY()); - libreOfficeKitCallback(LOK_CALLBACK_TEXT_SELECTION_START, aStart.toString().getStr()); + + if (comphelper::LibreOfficeKit::isViewCallback()) + libreOfficeKitViewCallback(LOK_CALLBACK_TEXT_SELECTION_START, aStart.toString().getStr()); + else + libreOfficeKitCallback(LOK_CALLBACK_TEXT_SELECTION_START, aStart.toString().getStr()); Rectangle& rEnd = aRectangles.back(); Rectangle aEnd = Rectangle(rEnd.Right() - 1, rEnd.Top(), rEnd.Right(), rEnd.Bottom()); if (bMm100ToTwip) aEnd = OutputDevice::LogicToLogic(aEnd, MAP_100TH_MM, MAP_TWIP); aEnd.Move(aOrigin.getX(), aOrigin.getY()); - libreOfficeKitCallback(LOK_CALLBACK_TEXT_SELECTION_END, aEnd.toString().getStr()); + + if (comphelper::LibreOfficeKit::isViewCallback()) + libreOfficeKitViewCallback(LOK_CALLBACK_TEXT_SELECTION_END, aEnd.toString().getStr()); + else + libreOfficeKitCallback(LOK_CALLBACK_TEXT_SELECTION_END, aEnd.toString().getStr()); } std::vector v; @@ -421,7 +429,11 @@ void ImpEditView::DrawSelection( EditSelection aTmpSel, vcl::Region* pRegion, Ou } sRectangle = comphelper::string::join("; ", v); } - libreOfficeKitCallback(LOK_CALLBACK_TEXT_SELECTION, sRectangle.getStr()); + + if (comphelper::LibreOfficeKit::isViewCallback()) + libreOfficeKitViewCallback(LOK_CALLBACK_TEXT_SELECTION, sRectangle.getStr()); + else + libreOfficeKitCallback(LOK_CALLBACK_TEXT_SELECTION, sRectangle.getStr()); pOutWin->Pop(); }