[PATCH] fdo#62470 fix the input change when the table RTL

Faisal al-otaibi (via Code Review) gerrit at gerrit.libreoffice.org
Sun Mar 31 03:57:04 PDT 2013


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/3133

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/33/3133/1

fdo#62470 fix the input change when the table RTL

this fix the wrong borders changes when the table RTL.

Change-Id: I6e963c1bb71c63bffe8c8f95c091a5692c21cd31
---
M sw/source/core/docnode/ndtbl1.cxx
1 file changed, 59 insertions(+), 22 deletions(-)



diff --git a/sw/source/core/docnode/ndtbl1.cxx b/sw/source/core/docnode/ndtbl1.cxx
index 591b013..e38d9aa6 100644
--- a/sw/source/core/docnode/ndtbl1.cxx
+++ b/sw/source/core/docnode/ndtbl1.cxx
@@ -691,33 +691,70 @@
                     }
                 }
 
-                // Left Border
-                if ( bLeftOver )
+                // Fix fdo#62470 correct the input for RTL table
+                if (bRTL)
                 {
-                    if( bLeftValid )
+                        if( bLeftOver && bRightOver)
+                        {
+                            if ( bLeftOver ? bLeftValid : bVertValid )
+                                {
+                                    aBox.SetLine( bLeftOver ? pLeft : 0,
+                                                  BOX_LINE_RIGHT );
+                                    bVertValid ? nType |= 0x0020 : nType |= 0x0010;
+                                }
+                                if ( bRightOver ? bRightValid : bVertValid )
+                                {
+                                    aBox.SetLine( bRightOver ? pRight : pVert,
+                                                  BOX_LINE_LEFT );
+                                    bVertValid ? nType |= 0x0008 : nType |= 0x0004;
+                                }
+                        }
+                        else
+                        {
+                                if ( bRightOver ? bLeftValid : bVertValid )
+                                {
+                                    aBox.SetLine( bRightOver ? pLeft : 0,
+                                                  BOX_LINE_RIGHT );
+                                    bVertValid ? nType |= 0x0020 : nType |= 0x0010;
+                                }
+                                if ( bLeftOver ? bRightValid : bVertValid )
+                                {
+                                    aBox.SetLine( bLeftOver ? pRight : pVert,
+                                                  BOX_LINE_LEFT );
+                                    bVertValid ? nType |= 0x0008 : nType |= 0x0004;
+                                }
+                        }
+                }
+                else
+                {
+                    // Left Border
+                    if ( bLeftOver )
                     {
-                        aBox.SetLine( pLeft, BOX_LINE_LEFT );
-                        nType |= 0x0004;
+                        if( bLeftValid )
+                        {
+                            aBox.SetLine( pLeft, BOX_LINE_LEFT );
+                            nType |= 0x0004;
+                        }
                     }
-                }
-                else if( bVertValid )
-                {
-                    aBox.SetLine( pVert, BOX_LINE_LEFT );
-                    nType |= 0x0008;
-                }
+                    else if( bVertValid )
+                    {
+                        aBox.SetLine( pVert, BOX_LINE_LEFT );
+                        nType |= 0x0008;
+                    }
 
-                // Right Border
-                if( bRightValid )
-                {
-                    if ( bRightOver )
+                    // Right Border
+                    if( bRightValid )
                     {
-                        aBox.SetLine( pRight, BOX_LINE_RIGHT );
-                        nType |= 0x0010;
-                    }
-                    else if ( bVertValid )
-                    {
-                        aBox.SetLine( 0, BOX_LINE_RIGHT );
-                        nType |= 0x0020;
+                        if ( bRightOver )
+                        {
+                            aBox.SetLine( pRight, BOX_LINE_RIGHT );
+                            nType |= 0x0010;
+                        }
+                        else if ( bVertValid )
+                        {
+                            aBox.SetLine( 0, BOX_LINE_RIGHT );
+                            nType |= 0x0020;
+                        }
                     }
                 }
 

-- 
To view, visit https://gerrit.libreoffice.org/3133
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6e963c1bb71c63bffe8c8f95c091a5692c21cd31
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Faisal al-otaibi <fmalotaibi at kacst.edu.sa>



More information about the LibreOffice mailing list