[Libreoffice-commits] core.git: Branch 'distro/lhm/libreoffice-6-1+backports' - svx/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Tue Jan 29 11:45:28 UTC 2019


 svx/source/dialog/framelinkarray.cxx |   47 +++++++++++++++++++++++------------
 1 file changed, 32 insertions(+), 15 deletions(-)

New commits:
commit efc741c41483b2402378391b7fba36377c886a8e
Author:     Ilhan Yesil <ilhanyesil at gmx.de>
AuthorDate: Tue Nov 13 11:20:15 2018 +0100
Commit:     Thorsten Behrens <Thorsten.Behrens at CIB.de>
CommitDate: Tue Jan 29 12:45:08 2019 +0100

    tdf#116051 Right border visible after hiding neighbour column
    
    Added an else statement to take into account that a hidden column
    has a neighboured left column with a right border.
    
    Change-Id: Ia415d422dd2fa305604e48cce55661408b835ea6
    Reviewed-on: https://gerrit.libreoffice.org/63326
    Tested-by: Jenkins
    Reviewed-by: Katarina Behrens <Katarina.Behrens at cib.de>
    (cherry picked from commit 392729c735bb82eecf29bae5527ec786ca293f34)
    Reviewed-on: https://gerrit.libreoffice.org/67054
    Reviewed-by: Ilhan Yesil <ilhanyesil at gmx.de>
    Tested-by: Ilhan Yesil <ilhanyesil at gmx.de>

diff --git a/svx/source/dialog/framelinkarray.cxx b/svx/source/dialog/framelinkarray.cxx
index 476864e7747b..4e22149a2879 100644
--- a/svx/source/dialog/framelinkarray.cxx
+++ b/svx/source/dialog/framelinkarray.cxx
@@ -1059,28 +1059,30 @@ drawinglayer::primitive2d::Primitive2DContainer Array::CreateB2DPrimitiveRange(
             basegfx::B2DVector aX(basegfx::utils::getColumn(aCoordinateSystem, 0));
             basegfx::B2DVector aY(basegfx::utils::getColumn(aCoordinateSystem, 1));
 
+            // get needed local values
+            basegfx::B2DPoint aOrigin(basegfx::utils::getColumn(aCoordinateSystem, 2));
+            const bool bOverlapX(rCell.mbOverlapX);
+            const bool bFirstCol(nCol == nFirstCol);
+
+            // handle rotation: If cell is rotated, handle lower/right edge inside
+            // this local geometry due to the created CoordinateSystem already representing
+            // the needed transformations.
+            const bool bRotated(rCell.IsRotated());
+
+            // Additionally avoid double-handling by suppressing handling when self not rotated,
+            // but above/left is rotated and thus already handled. Two directly connected
+            // rotated will paint/create both edges, they might be rotated differently.
+            const bool bSupressLeft(!bRotated && nCol > nFirstCol && CELL(nCol - 1, nRow).IsRotated());
+            const bool bSuppressAbove(!bRotated && nRow > nFirstRow && CELL(nCol, nRow - 1).IsRotated());
+
             if(!aX.equalZero() && !aY.equalZero())
             {
-                // get needed local values
-                basegfx::B2DPoint aOrigin(basegfx::utils::getColumn(aCoordinateSystem, 2));
-                const bool bOverlapX(rCell.mbOverlapX);
+                // additionally needed local values
                 const bool bOverlapY(rCell.mbOverlapY);
-                const bool bFirstCol(nCol == nFirstCol);
                 const bool bLastCol(nCol == nLastCol);
                 const bool bFirstRow(nRow == nFirstRow);
                 const bool bLastRow(nRow == nLastRow);
 
-                // handle rotation: If cell is rotated, handle lower/right edge inside
-                // this local geometry due to the created CoordinateSystem already representing
-                // the needed transformations.
-                const bool bRotated(rCell.IsRotated());
-
-                // Additionally avoid double-handling by suppressing handling when self not rotated,
-                // but above/left is rotated and thus already handled. Two directly connected
-                // rotated will paint/create both edges, they might be rotated differently.
-                const bool bSuppressAbove(!bRotated && nRow > nFirstRow && CELL(nCol, nRow - 1).IsRotated());
-                const bool bSupressLeft(!bRotated && nCol > nFirstCol && CELL(nCol - 1, nRow).IsRotated());
-
                 // create upper line for this Cell
                 if ((!bOverlapY         // true for first line in merged cells or cells
                     || bFirstRow)       // true for non_Calc usages of this tooling
@@ -1219,6 +1221,21 @@ drawinglayer::primitive2d::Primitive2DContainer Array::CreateB2DPrimitiveRange(
                     }
                 }
             }
+            else
+            {
+                // create left line for this Cell
+                if ((!bOverlapX         // true for first column in merged cells or cells
+                    || bFirstCol)       // true for non_Calc usages of this tooling
+                    && !bSupressLeft)   // true when left is not rotated, so edge is already handled (see bRotated)
+                {
+                    const Style& rLeft(GetCellStyleLeft(nCol, nRow));
+
+                    if (rLeft.IsUsed())
+                    {
+                        HelperCreateVerticalEntry(*this, rLeft, nCol, nRow, aOrigin, aX, aY, *aData.get(), true, pForceColor);
+                    }
+                }
+            }
         }
     }
 


More information about the Libreoffice-commits mailing list