diff options
Diffstat (limited to 'sc/source/ui/view/cliputil.cxx')
-rw-r--r-- | sc/source/ui/view/cliputil.cxx | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/sc/source/ui/view/cliputil.cxx b/sc/source/ui/view/cliputil.cxx index bdee23c43a2a..31bbf37d80e5 100644 --- a/sc/source/ui/view/cliputil.cxx +++ b/sc/source/ui/view/cliputil.cxx @@ -20,8 +20,10 @@ #include <viewutil.hxx> #include <markdata.hxx> #include <gridwin.hxx> +#include <scitems.hxx> #include <sfx2/classificationhelper.hxx> +#include <comphelper/lok.hxx> namespace { @@ -47,8 +49,10 @@ void ScClipUtil::PasteFromClipboard( ScViewData* pViewData, ScTabViewShell* pTab { const ScTransferObj* pOwnClip = ScTransferObj::GetOwnClipboard(ScTabViewShell::GetClipData(pViewData->GetActiveWin())); ScDocument* pThisDoc = pViewData->GetDocument(); - ScDPObject* pDPObj = pThisDoc->GetDPAtCursor( pViewData->GetCurX(), - pViewData->GetCurY(), pViewData->GetTabNo() ); + SCCOL nThisCol = pViewData->GetCurX(); + SCROW nThisRow = pViewData->GetCurY(); + SCTAB nThisTab = pViewData->GetTabNo(); + ScDPObject* pDPObj = pThisDoc->GetDPAtCursor( nThisCol, nThisRow, nThisTab ); if ( pOwnClip && pDPObj ) { // paste from Calc into DataPilot table: sort (similar to drag & drop) @@ -90,6 +94,16 @@ void ScClipUtil::PasteFromClipboard( ScViewData* pViewData, ScTabViewShell* pTab bShowDialog ); // allow warning dialog } } + if (comphelper::LibreOfficeKit::isActive()) + { + const SfxBoolItem* pItem = static_cast<const SfxBoolItem*>(pThisDoc->GetAttr(nThisCol, nThisRow, nThisTab, ATTR_LINEBREAK)); + if (pItem->GetValue()) + { + ScTabViewShell::notifyAllViewsSheetGeomInvalidation( + pTabViewShell, false /* bColumns */, true /* bRows */, true /* bSizes*/, + true /* bHidden */, true /* bFiltered */, true /* bGroups */, nThisTab); + } + } pTabViewShell->CellContentChanged(); // => PasteFromSystem() ??? } |