diff options
author | Ashod Nakashian <ashod.nakashian@collabora.co.uk> | 2016-05-25 23:28:40 -0400 |
---|---|---|
committer | Ashod Nakashian <ashnakash@gmail.com> | 2016-05-26 03:30:19 +0000 |
commit | 28795d0faabd1e1be124fa90bef06d7f47a63311 (patch) | |
tree | 6ec78c981b2cac90cefd05603933679e5b97dabd | |
parent | 04a18136b186753cd303057155141957c9a90500 (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.cxx | 26 |
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()); + } } |