summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAshod Nakashian <ashod.nakashian@collabora.co.uk>2016-05-25 23:28:40 -0400
committerAshod Nakashian <ashnakash@gmail.com>2016-05-26 03:30:19 +0000
commit28795d0faabd1e1be124fa90bef06d7f47a63311 (patch)
tree6ec78c981b2cac90cefd05603933679e5b97dabd
parent04a18136b186753cd303057155141957c9a90500 (diff)
bccu#1843 - Calc copy/paste chart tile invalidation problemcp-5.0-36
Change-Id: I2f0bf28e87f4188abd81eb6c42bae915b2a046a8 Reviewed-on: https://gerrit.libreoffice.org/25489 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com>
-rw-r--r--svx/source/svdraw/svdmrkv.cxx26
1 files changed, 26 insertions, 0 deletions
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index d872aefbe5fd..7ad705aca112 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -52,6 +52,7 @@
#include <editeng/editdata.hxx>
#include <LibreOfficeKit/LibreOfficeKitEnums.h>
+#include <comphelper/lok.hxx>
using namespace com::sun::star;
@@ -207,6 +208,31 @@ void SdrMarkView::ModelHasChanged()
if (pV!=NULL && !pV->IsDragObj() && !pV->IsInsObjPoint()) {
AdjustMarkHdl();
}
+
+ if (comphelper::LibreOfficeKit::isActive())
+ {
+ //TODO: Is MarkedObjRect valid at this point?
+ Rectangle aSelection(GetMarkedObjRect());
+ OString sSelection;
+ if (aSelection.IsEmpty())
+ sSelection = "EMPTY";
+ else
+ {
+ // In case the map mode is in 100th MM, then need to convert the coordinates over to twips for LOK.
+ if (pMarkedPV)
+ {
+ if (OutputDevice* pOutputDevice = pMarkedPV->GetView().GetFirstOutputDevice())
+ {
+ if (pOutputDevice->GetMapMode().GetMapUnit() == MAP_100TH_MM)
+ aSelection = OutputDevice::LogicToLogic(aSelection, MAP_100TH_MM, MAP_TWIP);
+ }
+ }
+
+ sSelection = aSelection.toString();
+ }
+
+ GetModel()->libreOfficeKitCallback(LOK_CALLBACK_INVALIDATE_TILES, sSelection.getStr());
+ }
}