diff options
author | Issa Alkurtass <ialkurtass@kacst.edu.sa> | 2012-09-04 13:22:26 +0300 |
---|---|---|
committer | Lior Kaplan <kaplanlior@gmail.com> | 2012-10-18 15:22:33 +0200 |
commit | 7a0949b101e4ea70984e714065c94854fa071fd6 (patch) | |
tree | a157cab5c55ff99a144e7ee13d69f3b4ea154417 | |
parent | 0d26c5e194cceb8a8fcc0878217b07faff1cf8d5 (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>
-rw-r--r-- | sw/source/core/view/pagepreviewlayout.cxx | 29 |
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 ) { |