summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/source/ui/view/cliputil.cxx20
1 files changed, 18 insertions, 2 deletions
diff --git a/sc/source/ui/view/cliputil.cxx b/sc/source/ui/view/cliputil.cxx
index 95378d76b545..d2db10b0a062 100644
--- a/sc/source/ui/view/cliputil.cxx
+++ b/sc/source/ui/view/cliputil.cxx
@@ -8,6 +8,7 @@
*/
#include <cliputil.hxx>
+#include <attrib.hxx>
#include <viewdata.hxx>
#include <tabvwsh.hxx>
#include <transobj.hxx>
@@ -20,8 +21,10 @@
#include <viewutil.hxx>
#include <markdata.hxx>
#include <gridwin.hxx>
+#include <scitems.hxx>
#include <sfx2/classificationhelper.hxx>
+#include <comphelper/lok.hxx>
namespace
{
@@ -47,8 +50,11 @@ void ScClipUtil::PasteFromClipboard( ScViewData& rViewData, ScTabViewShell* pTab
{
const ScTransferObj* pOwnClip = ScTransferObj::GetOwnClipboard(ScTabViewShell::GetClipData(rViewData.GetActiveWin()));
ScDocument& rThisDoc = rViewData.GetDocument();
- ScDPObject* pDPObj = rThisDoc.GetDPAtCursor( rViewData.GetCurX(),
- rViewData.GetCurY(), rViewData.GetTabNo() );
+ SCCOL nThisCol = rViewData.GetCurX();
+ SCROW nThisRow = rViewData.GetCurY();
+ SCTAB nThisTab = rViewData.GetTabNo();
+ ScDPObject* pDPObj = rThisDoc.GetDPAtCursor( nThisCol, nThisRow, nThisTab );
+
if ( pOwnClip && pDPObj )
{
// paste from Calc into DataPilot table: sort (similar to drag & drop)
@@ -90,6 +96,16 @@ void ScClipUtil::PasteFromClipboard( ScViewData& rViewData, ScTabViewShell* pTab
bShowDialog ); // allow warning dialog
}
}
+ if (comphelper::LibreOfficeKit::isActive())
+ {
+ const ScLineBreakCell* pItem = rThisDoc.GetAttr(nThisCol, nThisRow, nThisTab, ATTR_LINEBREAK);
+ if (pItem && pItem->GetValue())
+ {
+ ScTabViewShell::notifyAllViewsSheetGeomInvalidation(
+ pTabViewShell, false /* bColumns */, true /* bRows */, true /* bSizes*/,
+ true /* bHidden */, true /* bFiltered */, true /* bGroups */, nThisTab);
+ }
+ }
pTabViewShell->CellContentChanged(); // => PasteFromSystem() ???
}