sc/qa/unit/uicalc/uicalc.cxx | 77 +++++++++++------------------------------ sc/source/ui/inc/viewfunc.hxx | 2 - sc/source/ui/view/viewfun3.cxx | 4 +- 3 files changed, 24 insertions(+), 59 deletions(-)
New commits: commit 8a7b46c0372eb2445c0bd35c1ebe4a7c96115e5c Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Mon Mar 15 16:19:53 2021 +0100 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Mon Mar 15 20:06:22 2021 +0100 sc_uicalc: use UNO commands for copy, cut or paste everywhere It's fine to use them since 043c67e0f7358753a2007b7c2bb6cc68aeea7ecb < dummy clipboard for unit tests > While at it, remove a couple of obsolete FIXME comments Partially revert 9fd193168fe092bf15edbc81b8b1a15ca6d7c032 < tdf#118207: tdf#118189: sc: Move UItest to CppUnitTest > since CutToClip is no longer used Change-Id: I73959fbc810dc5e82b76862338814e720dc97d89 Signed-off-by: Xisco Fauli <xiscofa...@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112533 Tested-by: Jenkins diff --git a/sc/qa/unit/uicalc/uicalc.cxx b/sc/qa/unit/uicalc/uicalc.cxx index c6e421569395..6d161ab81c23 100644 --- a/sc/qa/unit/uicalc/uicalc.cxx +++ b/sc/qa/unit/uicalc/uicalc.cxx @@ -179,14 +179,11 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf100582) goToCell("C10"); - ScDocument aClipDoc(SCDOCMODE_CLIP); - ScDocShell::GetViewData()->GetView()->CopyToClip(&aClipDoc, false, false, false, false); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Copy", {}); goToCell("C10:H14"); - ScDocShell::GetViewData()->GetView()->PasteFromClip(InsertDeleteFlags::ALL, &aClipDoc); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Paste", {}); pModelObj = saveAndReload(mxComponent, "MS Excel 97"); pDoc = pModelObj->GetDocument(); @@ -264,15 +261,11 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf92963) goToCell("A3:C4"); - ScDocument aClipDoc(SCDOCMODE_CLIP); - ScDocShell::GetViewData()->GetView()->CopyToClip(&aClipDoc, false, false, false, false); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Copy", {}); goToCell("A1:C1"); - // Without the fix in place, this test would have crashed here - ScDocShell::GetViewData()->GetView()->PasteFromClip(InsertDeleteFlags::ALL, &aClipDoc); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Paste", {}); CPPUNIT_ASSERT_EQUAL(size_t(2), pList->size()); @@ -385,14 +378,11 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf120660) goToCell("A8:E8"); - ScDocument aClipDoc(SCDOCMODE_CLIP); - ScDocShell::GetViewData()->GetView()->CopyToClip(&aClipDoc, false, false, false, false); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Copy", {}); goToCell("A4:E4"); - ScDocShell::GetViewData()->GetView()->PasteFromClip(InsertDeleteFlags::ALL, &aClipDoc); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Paste", {}); CPPUNIT_ASSERT_EQUAL(1200.0, pDoc->GetValue(ScAddress(4, 3, 0))); CPPUNIT_ASSERT_EQUAL(-100.0, pDoc->GetValue(ScAddress(4, 7, 0))); @@ -404,13 +394,11 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf120660) goToCell("A8:D8"); - ScDocShell::GetViewData()->GetView()->CopyToClip(&aClipDoc, false, false, false, false); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Copy", {}); goToCell("A4:D4"); - ScDocShell::GetViewData()->GetView()->PasteFromClip(InsertDeleteFlags::ALL, &aClipDoc); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Paste", {}); CPPUNIT_ASSERT_EQUAL(1200.0, pDoc->GetValue(ScAddress(4, 3, 0))); @@ -455,7 +443,6 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf117706) dispatchCommand(mxComponent, ".uno:SelectRow", {}); Scheduler::ProcessEventsToIdle(); - // FIXME: The rows are not copied/pasted if using CopyToClip/PasteToClip dispatchCommand(mxComponent, ".uno:Copy", {}); mxComponent->dispose(); @@ -598,16 +585,11 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf108654) dispatchCommand(mxComponent, ".uno:SelectAll", {}); - // .uno:Copy without touching shared clipboard - ScDocument aClipDoc(SCDOCMODE_CLIP); - ScDocShell::GetViewData()->GetView()->CopyToClip(&aClipDoc, false, false, false, false); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Copy", {}); insertNewSheet(*pDoc); - // .uno:Paste without touching shared clipboard - ScDocShell::GetViewData()->GetView()->PasteFromClip(InsertDeleteFlags::ALL, &aClipDoc); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Paste", {}); OUString aFormula; pDoc->GetFormula(3, 126, 1, aFormula); @@ -634,10 +616,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf133326) dispatchCommand(mxComponent, ".uno:SelectAll", {}); - // .uno:Copy without touching shared clipboard - ScDocument aClipDoc(SCDOCMODE_CLIP); - ScDocShell::GetViewData()->GetView()->CopyToClip(&aClipDoc, false, false, false, false); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Copy", {}); insertNewSheet(*pDoc); @@ -645,9 +624,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf133326) pDoc->GetFormula(0, 0, 1, aFormula); CPPUNIT_ASSERT_EQUAL(OUString(""), aFormula); - // .uno:Paste without touching shared clipboard - ScDocShell::GetViewData()->GetView()->PasteFromClip(InsertDeleteFlags::ALL, &aClipDoc); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Paste", {}); pDoc->GetFormula(0, 0, 1, aFormula); CPPUNIT_ASSERT_EQUAL(OUString("=RAND()*1000000"), aFormula); @@ -863,7 +840,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf124822) dispatchCommand(mxComponent, ".uno:SelectAll", {}); Scheduler::ProcessEventsToIdle(); - ScDocShell::GetViewData()->GetView()->CutToClip(); + dispatchCommand(mxComponent, ".uno:Cut", {}); CPPUNIT_ASSERT_EQUAL(OUString(""), pDoc->GetString(ScAddress(0, 0, 2))); @@ -883,8 +860,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf118189) // Select column A goToCell("A:A"); - ScDocument aClipDoc(SCDOCMODE_CLIP); - ScDocShell::GetViewData()->GetView()->CopyToClip(&aClipDoc, false, false, false, false); + dispatchCommand(mxComponent, ".uno:Copy", {}); mxComponent->dispose(); @@ -895,14 +871,13 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf118189) pDoc = pModelObj->GetDocument(); CPPUNIT_ASSERT(pDoc); - ScDocShell::GetViewData()->GetView()->PasteFromClip(InsertDeleteFlags::ALL, &aClipDoc); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Paste", {}); OUString aFormula; pDoc->GetFormula(0, 77, 0, aFormula); CPPUNIT_ASSERT_EQUAL(OUString("=FALSE()"), aFormula); - ScDocShell::GetViewData()->GetView()->CutToClip(); + dispatchCommand(mxComponent, ".uno:Cut", {}); pDoc->GetFormula(0, 77, 0, aFormula); CPPUNIT_ASSERT_EQUAL(OUString(""), aFormula); @@ -936,8 +911,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf118207) pDoc->GetFormula(0, 77, 0, aFormula); CPPUNIT_ASSERT_EQUAL(OUString("=FALSE()"), aFormula); - ScDocument aClipDoc(SCDOCMODE_CLIP); - ScDocShell::GetViewData()->GetView()->CutToClip(&aClipDoc); + dispatchCommand(mxComponent, ".uno:Cut", {}); pDoc->GetFormula(0, 77, 0, aFormula); CPPUNIT_ASSERT_EQUAL(OUString(""), aFormula); @@ -945,14 +919,12 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf118207) // Select column B goToCell("B:B"); - ScDocShell::GetViewData()->GetView()->PasteFromClip(InsertDeleteFlags::ALL, &aClipDoc); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Paste", {}); pDoc->GetFormula(1, 77, 0, aFormula); CPPUNIT_ASSERT_EQUAL(OUString("=FALSE()"), aFormula); - ScDocShell::GetViewData()->GetView()->PasteFromClip(InsertDeleteFlags::ALL, &aClipDoc); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Paste", {}); pDoc->GetFormula(1, 77, 0, aFormula); CPPUNIT_ASSERT_EQUAL(OUString("=FALSE()"), aFormula); @@ -1029,17 +1001,12 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf138428) CPPUNIT_ASSERT_MESSAGE("There should be a note on A1", pDoc->HasNote(ScAddress(0, 0, 0))); CPPUNIT_ASSERT_MESSAGE("There shouldn't be a note on B1", !pDoc->HasNote(ScAddress(1, 0, 0))); - // .uno:Copy without touching shared clipboard - ScDocument aClipDoc(SCDOCMODE_CLIP); - ScDocShell::GetViewData()->GetView()->CopyToClip(&aClipDoc, false, false, false, false); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Copy", {}); dispatchCommand(mxComponent, ".uno:GoRight", {}); lcl_AssertCurrentCursorPosition(1, 0); - // .uno:Paste without touching shared clipboard - ScDocShell::GetViewData()->GetView()->PasteFromClip(InsertDeleteFlags::ALL, &aClipDoc); - Scheduler::ProcessEventsToIdle(); + dispatchCommand(mxComponent, ".uno:Paste", {}); CPPUNIT_ASSERT_MESSAGE("There should be a note on A1", pDoc->HasNote(ScAddress(0, 0, 0))); CPPUNIT_ASSERT_MESSAGE("There should be a note on B1", pDoc->HasNote(ScAddress(1, 0, 0))); @@ -1106,7 +1073,6 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf130614) lcl_SelectObjectByName(u"Object 1"); - // FIXME: The OLE object is not copied/pasted if using CopyToClip/PasteToClip dispatchCommand(mxComponent, ".uno:Copy", {}); Scheduler::ProcessEventsToIdle(); @@ -1121,7 +1087,6 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf130614) // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Paste", {}); - Scheduler::ProcessEventsToIdle(); ScDrawLayer* pDrawLayer = pDoc->GetDrawLayer(); SdrPage* pPage = pDrawLayer->GetPage(0); diff --git a/sc/source/ui/inc/viewfunc.hxx b/sc/source/ui/inc/viewfunc.hxx index 9431c9aa16da..7515c9e93858 100644 --- a/sc/source/ui/inc/viewfunc.hxx +++ b/sc/source/ui/inc/viewfunc.hxx @@ -107,7 +107,7 @@ public: void EnterDataAtCursor( const OUString& rString ); //! Not used? - SC_DLLPUBLIC void CutToClip(ScDocument* pClipDoc = nullptr); + SC_DLLPUBLIC void CutToClip(); SC_DLLPUBLIC bool CopyToClip( ScDocument* pClipDoc, bool bCut, bool bApi = false, bool bIncludeObjects = false, bool bStopEdit = true ); SC_DLLPUBLIC bool CopyToClip( ScDocument* pClipDoc, const ScRangeList& rRange, bool bCut, diff --git a/sc/source/ui/view/viewfun3.cxx b/sc/source/ui/view/viewfun3.cxx index e4ba7302799e..e6439ffc04b9 100644 --- a/sc/source/ui/view/viewfun3.cxx +++ b/sc/source/ui/view/viewfun3.cxx @@ -85,7 +85,7 @@ void collectUIInformation(const std::map<OUString, OUString>& aParameters, const // C U T -void ScViewFunc::CutToClip(ScDocument* pClipDoc) +void ScViewFunc::CutToClip() { UpdateInputLine(); @@ -114,7 +114,7 @@ void ScViewFunc::CutToClip(ScDocument* pClipDoc) MarkDataChanged(); } - CopyToClip( pClipDoc, true, false, true/*bIncludeObjects*/ ); // copy to clipboard + CopyToClip( nullptr, true, false, true/*bIncludeObjects*/ ); // copy to clipboard ScAddress aOldEnd( aRange.aEnd ); // combined cells in this range? rDoc.ExtendMerge( aRange, true ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits