summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorIssa Alkurtass <ialkurtass@kacst.edu.sa>2012-09-04 13:22:26 +0300
committerLior Kaplan <kaplanlior@gmail.com>2012-10-18 15:22:33 +0200
commit7a0949b101e4ea70984e714065c94854fa071fd6 (patch)
treea157cab5c55ff99a144e7ee13d69f3b4ea154417 /sw
parent0d26c5e194cceb8a8fcc0878217b07faff1cf8d5 (diff)
fdo#43210 Corrected page preview direction for RTL interface
Change-Id: I412510bc17a29873310689e3141c75d32b261e37 Reviewed-on: https://gerrit.libreoffice.org/557 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit f49db879b7e6362a12450c87352f6ba72823c45e) Signed-off-by: Lior Kaplan <kaplanlior@gmail.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/view/pagepreviewlayout.cxx29
1 files changed, 23 insertions, 6 deletions
diff --git a/sw/source/core/view/pagepreviewlayout.cxx b/sw/source/core/view/pagepreviewlayout.cxx
index fff8fceb1d63..a60fbe40c064 100644
--- a/sw/source/core/view/pagepreviewlayout.cxx
+++ b/sw/source/core/view/pagepreviewlayout.cxx
@@ -26,6 +26,8 @@
*
************************************************************************/
+#include "vcl/svapp.hxx"
+
#include <pagepreviewlayout.hxx>
#include <prevwpage.hxx>
@@ -586,10 +588,19 @@ void SwPagePreviewLayout::_CalcPreviewPages()
// calculate initial paint offset
Point aInitialPaintOffset;
- if ( maPaintStartPageOffset != Point( -1, -1 ) )
- aInitialPaintOffset = Point(0,0) - maPaintStartPageOffset;
- else
- aInitialPaintOffset = Point( mnXFree, mnYFree );
+ /// check whether RTL interface or not
+ if(!Application::GetSettings().GetLayoutRTL()){
+ if ( maPaintStartPageOffset != Point( -1, -1 ) )
+ aInitialPaintOffset = Point(0,0) - maPaintStartPageOffset;
+ else
+ aInitialPaintOffset = Point( mnXFree, mnYFree );
+ }
+ else {
+ if ( maPaintStartPageOffset != Point( -1, -1 ) )
+ aInitialPaintOffset = Point(0 + ((SwPagePreviewLayout::mnCols-1)*mnColWidth),0) - maPaintStartPageOffset;
+ else
+ aInitialPaintOffset = Point( mnXFree + ((SwPagePreviewLayout::mnCols-1)*mnColWidth), mnYFree );
+ }
aInitialPaintOffset += maAdditionalPaintOffset;
// prepare loop data
@@ -635,7 +646,10 @@ void SwPagePreviewLayout::_CalcPreviewPages()
{
// first page in 2nd column
// --> continue with increased paint offset and next column
- aCurrPaintOffset.X() += mnColWidth;
+ /// check whether RTL interface or not
+ if(!Application::GetSettings().GetLayoutRTL())
+ aCurrPaintOffset.X() += mnColWidth;
+ else aCurrPaintOffset.X() -= mnColWidth;
++nCurrCol;
continue;
}
@@ -658,7 +672,10 @@ void SwPagePreviewLayout::_CalcPreviewPages()
// prepare data for next loop
pPage = static_cast<const SwPageFrm*>(pPage->GetNext());
- aCurrPaintOffset.X() += mnColWidth;
+ /// check whether RTL interface or not
+ if(!Application::GetSettings().GetLayoutRTL())
+ aCurrPaintOffset.X() += mnColWidth;
+ else aCurrPaintOffset.X() -= mnColWidth;
++nCurrCol;
if ( nCurrCol > mnCols )
{