summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGökay Şatır <gokay.satir@collabora.com>2021-04-12 14:36:46 +0300
committerGökay ŞATIR <gokaysatir@collabora.com>2021-04-13 14:48:58 +0200
commitb5b12537b784b3af9f2e2ad76536a55e281d6cfb (patch)
treec97149635169e68692542a7e0230ed9644a9e6fa
parentbeeb19b361213d22247e5cb776dc522cbf190ca8 (diff)
Calc: Send sheet invalidation for full row/col ops
Change-Id: I4da476804d2dfaf11c1cfd6cbe11cc4a651e0f09 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113251 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114038 Tested-by: Jenkins Reviewed-by: Gökay ŞATIR <gokaysatir@collabora.com>
-rw-r--r--sc/qa/unit/tiledrendering/tiledrendering.cxx4
-rw-r--r--sc/source/ui/view/cliputil.cxx16
2 files changed, 15 insertions, 5 deletions
diff --git a/sc/qa/unit/tiledrendering/tiledrendering.cxx b/sc/qa/unit/tiledrendering/tiledrendering.cxx
index 1d883f0e4a95..9a9a5119c4a0 100644
--- a/sc/qa/unit/tiledrendering/tiledrendering.cxx
+++ b/sc/qa/unit/tiledrendering/tiledrendering.cxx
@@ -2336,8 +2336,8 @@ void ScTiledRenderingTest::testPasteIntoWrapTextCell()
pView->GetViewFrame()->GetBindings().Execute(SID_PASTE);
Scheduler::ProcessEventsToIdle();
- // SG invalidations for rows
- CPPUNIT_ASSERT_EQUAL(OString("rows"), aView.m_sInvalidateSheetGeometry);
+ // SG invalidations for all
+ CPPUNIT_ASSERT_EQUAL(OString("all"), aView.m_sInvalidateSheetGeometry);
SfxViewShell::Current()->registerLibreOfficeKitViewCallback(nullptr, nullptr);
}
diff --git a/sc/source/ui/view/cliputil.cxx b/sc/source/ui/view/cliputil.cxx
index d2db10b0a062..494c1b27c366 100644
--- a/sc/source/ui/view/cliputil.cxx
+++ b/sc/source/ui/view/cliputil.cxx
@@ -98,11 +98,21 @@ void ScClipUtil::PasteFromClipboard( ScViewData& rViewData, ScTabViewShell* pTab
}
if (comphelper::LibreOfficeKit::isActive())
{
- const ScLineBreakCell* pItem = rThisDoc.GetAttr(nThisCol, nThisRow, nThisTab, ATTR_LINEBREAK);
- if (pItem && pItem->GetValue())
+ bool entireColumnOrRowSelected = false;
+ if (pOwnClip)
+ {
+ ScClipParam clipParam = pOwnClip->GetDocument()->GetClipParam();
+ if (clipParam.maRanges.size() > 0)
+ {
+ if (clipParam.maRanges[0].aEnd.Col() == MAXCOLCOUNT -1 || clipParam.maRanges[0].aEnd.Row() == MAXROWCOUNT - 1)
+ entireColumnOrRowSelected = true;
+ }
+ }
+ const SfxBoolItem* pItem = rThisDoc.GetAttr(nThisCol, nThisRow, nThisTab, ATTR_LINEBREAK);
+ if (pItem->GetValue() || entireColumnOrRowSelected)
{
ScTabViewShell::notifyAllViewsSheetGeomInvalidation(
- pTabViewShell, false /* bColumns */, true /* bRows */, true /* bSizes*/,
+ pTabViewShell, true /* bColumns */, true /* bRows */, true /* bSizes*/,
true /* bHidden */, true /* bFiltered */, true /* bGroups */, nThisTab);
}
}