[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.1' - 3 commits - sc/qa sc/source sd/qa

Marco Cecchetti marco.cecchetti at collabora.com
Fri Nov 18 17:25:34 UTC 2016


 sc/qa/unit/tiledrendering/tiledrendering.cxx |   50 ++++++++++++++++++++++++++-
 sc/source/ui/view/tabview3.cxx               |   39 ++++++++-------------
 sd/qa/unit/import-tests.cxx                  |    2 -
 3 files changed, 66 insertions(+), 25 deletions(-)

New commits:
commit 3ec47ebbbb8fa8c354d5274c526698e89aca7ec5
Author: Marco Cecchetti <marco.cecchetti at collabora.com>
Date:   Fri Nov 18 18:24:29 2016 +0100

    Fixed build error in unit test for tdf#103876
    
    Change-Id: I7b1be7d1318385ad57d6fcda828ea61ccba65881

diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx
index 208c627..f8af062 100644
--- a/sd/qa/unit/import-tests.cxx
+++ b/sd/qa/unit/import-tests.cxx
@@ -1258,7 +1258,7 @@ void SdImportTest::testTdf103792()
 void SdImportTest::testTdf103876()
 {
     // Title text shape's placeholder text did not inherit the corresponding text properties
-    sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/tdf103876.pptx"), PPTX);
+    sd::DrawDocShellRef xDocShRef = loadURL(getURLFromSrc("/sd/qa/unit/data/pptx/tdf103876.pptx"), PPTX);
     uno::Reference< beans::XPropertySet > xShape( getShapeFromPage( 0, 0, xDocShRef ) );
 
     // Check paragraph alignment
commit 2f9f7383281a9848f27b6e0b321cbe103bb57eed
Author: Marco Cecchetti <marco.cecchetti at collabora.com>
Date:   Fri Nov 18 17:58:26 2016 +0100

    LOK - Calc: unit test for invalidation on row insert
    
    Change-Id: I999bcef29b90fafcd803243a967fcb8109e61db8

diff --git a/sc/qa/unit/tiledrendering/tiledrendering.cxx b/sc/qa/unit/tiledrendering/tiledrendering.cxx
index 5547b71..74a08a3 100644
--- a/sc/qa/unit/tiledrendering/tiledrendering.cxx
+++ b/sc/qa/unit/tiledrendering/tiledrendering.cxx
@@ -68,6 +68,7 @@ public:
     void testAutoSum();
     void testHideColRow();
     void testInvalidateOnCopyPasteCells();
+    void testInvalidateOnInserRowCol();
 
     CPPUNIT_TEST_SUITE(ScTiledRenderingTest);
     CPPUNIT_TEST(testRowColumnSelections);
@@ -87,6 +88,7 @@ public:
     CPPUNIT_TEST(testAutoSum);
     CPPUNIT_TEST(testHideColRow);
     CPPUNIT_TEST(testInvalidateOnCopyPasteCells);
+    CPPUNIT_TEST(testInvalidateOnInserRowCol);
     CPPUNIT_TEST_SUITE_END();
 
 private:
@@ -916,6 +918,7 @@ void ScTiledRenderingTest::testHideColRow()
     mxComponent.clear();
     comphelper::LibreOfficeKit::setActive(false);
 }
+
 void ScTiledRenderingTest::testInvalidateOnCopyPasteCells()
 {
     // Load a document
@@ -927,7 +930,6 @@ void ScTiledRenderingTest::testInvalidateOnCopyPasteCells()
     ViewCallback aView;
     SfxViewShell::Current()->registerLibreOfficeKitViewCallback(&ViewCallback::callback, &aView);
 
-    aView.m_bInvalidateTiles = false;
     uno::Sequence<beans::PropertyValue> aArgs;
     // select and copy cells
     pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, KEY_HOME | KEY_MOD1);
@@ -958,6 +960,52 @@ void ScTiledRenderingTest::testInvalidateOnCopyPasteCells()
     mxComponent.clear();
     comphelper::LibreOfficeKit::setActive(false);
 }
+
+void ScTiledRenderingTest::testInvalidateOnInserRowCol()
+{
+    // Load a document
+    comphelper::LibreOfficeKit::setActive();
+    ScModelObj* pModelObj = createDoc("small.ods");
+    CPPUNIT_ASSERT(pModelObj);
+
+    // view
+    ViewCallback aView;
+    SfxViewShell::Current()->registerLibreOfficeKitViewCallback(&ViewCallback::callback, &aView);
+
+    uno::Sequence<beans::PropertyValue> aArgs;
+    // move downward
+    for (int i = 0; i < 200; ++i)
+    {
+        pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, KEY_DOWN);
+        pModelObj->postKeyEvent(LOK_KEYEVENT_KEYUP, 0, KEY_DOWN);
+    }
+    Scheduler::ProcessEventsToIdle();
+
+    // insert row
+    aView.m_bInvalidateTiles = false;
+    comphelper::dispatchCommand(".uno:InsertRows", aArgs);
+    Scheduler::ProcessEventsToIdle();
+    CPPUNIT_ASSERT(aView.m_bInvalidateTiles);
+
+    // move on the right
+    for (int i = 0; i < 200; ++i)
+    {
+        pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, KEY_RIGHT);
+        pModelObj->postKeyEvent(LOK_KEYEVENT_KEYUP, 0, KEY_RIGHT);
+    }
+    Scheduler::ProcessEventsToIdle();
+
+    // insert column
+    aView.m_bInvalidateTiles = false;
+    comphelper::dispatchCommand(".uno:InsertColumns", aArgs);
+    Scheduler::ProcessEventsToIdle();
+    CPPUNIT_ASSERT(aView.m_bInvalidateTiles);
+
+    mxComponent->dispose();
+    mxComponent.clear();
+    comphelper::LibreOfficeKit::setActive(false);
+}
+
 }
 
 CPPUNIT_TEST_SUITE_REGISTRATION(ScTiledRenderingTest);
commit 88e68a88533faa9061cd3fc48015456fb99f6664
Author: Marco Cecchetti <marco.cecchetti at collabora.com>
Date:   Fri Nov 18 17:23:17 2016 +0100

    LOK - Calc: use GetMaxTiledCol/GetMaxTiledRow instead of GetPrintArea
    
    By using GetPrintArea, there is no tile invalidation when a row is
    inserted or resized below any text content.
    
    Change-Id: I5269a7186eafac977cc557fcf04f29b53bba999b

diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx
index e9259a5..e3f5f75 100644
--- a/sc/source/ui/view/tabview3.cxx
+++ b/sc/source/ui/view/tabview3.cxx
@@ -2193,21 +2193,13 @@ void ScTabView::PaintArea( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCRO
         nCol2 = nEndCol;
         nRow2 = nEndRow;
 
+        SCCOL nLastX = 0;
+        SCROW nLastY = 0;
+
         if (comphelper::LibreOfficeKit::isActive())
         {
-            SCCOL nLastX = 0;
-            SCROW nLastY = 0;
-            SCTAB nTab = aViewData.GetTabNo();
-            ScDocument& rDoc = aViewData.GetDocShell()->GetDocument();
-            if (rDoc.GetPrintArea(nTab, nLastX, nLastY, false))
-            {
-                nCol2 = nLastX;
-                nRow2 = nLastY;
-            }
-
-            if (nCol2 > MAXCOL) nCol2 = MAXCOL;
-            if (nRow2 > MAXROW) nRow2 = MAXROW;
-            bOut = nCol1 > nCol2 || nRow1 > nRow2;
+            nLastX = aViewData.GetMaxTiledCol();
+            nLastY = aViewData.GetMaxTiledRow();
         }
         else
         {
@@ -2229,18 +2221,19 @@ void ScTabView::PaintArea( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCRO
             if (nRow2 < nScrY)
                 bOut = true;
 
-            SCCOL nLastX = nScrX + aViewData.VisibleCellsX( eHWhich ) + 1;
-            SCROW nLastY = nScrY + aViewData.VisibleCellsY( eVWhich ) + 1;
-            if (nCol1 > nLastX)
-                bOut = true;
-            if (nCol2 > nLastX)
-                nCol2 = nLastX;
-            if (nRow1 > nLastY)
-                bOut = true;
-            if (nRow2 > nLastY)
-                nRow2 = nLastY;
+            nLastX = nScrX + aViewData.VisibleCellsX( eHWhich ) + 1;
+            nLastY = nScrY + aViewData.VisibleCellsY( eVWhich ) + 1;
         }
 
+        if (nCol1 > nLastX)
+            bOut = true;
+        if (nCol2 > nLastX)
+            nCol2 = nLastX;
+        if (nRow1 > nLastY)
+            bOut = true;
+        if (nRow2 > nLastY)
+            nRow2 = nLastY;
+
         if (bOut)
             continue;
 


More information about the Libreoffice-commits mailing list