summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat@free.fr>2012-01-04 21:54:05 +0100
committerPetr Mladek <pmladek@suse.cz>2012-01-10 11:24:42 +0100
commitc17724737cc54fbecb32c510c437c4fda045d94b (patch)
tree2aa93ae32645b71e34d23fbab6f14e8196d26094
parenta0347a9b94e2dc4ee1906341aa187d6a9f7749af (diff)
Page Break: fixed position of tab in RTL and added dirty hack for freezes
-rw-r--r--sw/source/ui/docvw/PageBreakWin.cxx16
1 files changed, 13 insertions, 3 deletions
diff --git a/sw/source/ui/docvw/PageBreakWin.cxx b/sw/source/ui/docvw/PageBreakWin.cxx
index aa1085cb28a9..b16e51f08652 100644
--- a/sw/source/ui/docvw/PageBreakWin.cxx
+++ b/sw/source/ui/docvw/PageBreakWin.cxx
@@ -142,8 +142,11 @@ namespace
m_pWin->Fade( true );
}
- Point* pPtr = new Point( rMEvt.GetPosPixel() );
- m_pWin->UpdatePosition( pPtr );
+ if ( !rMEvt.IsSynthetic() )
+ {
+ Point* pPtr = new Point( rMEvt.GetPosPixel() );
+ m_pWin->UpdatePosition( pPtr );
+ }
}
void SwBreakDashedLine::MouseButtonDown( const MouseEvent& rMEvt )
@@ -450,7 +453,14 @@ void SwPageBreakWin::UpdatePosition( const Point* pEvtPt )
if ( m_pMousePt )
{
nBtnLeft = nLineLeft + m_pMousePt->X();
- if ( ( nBtnLeft + aBtnSize.getWidth() ) > nLineRight )
+
+ if ( Application::GetSettings().GetLayoutRTL() )
+ {
+ nBtnLeft -= aBtnSize.getWidth();
+ if ( nBtnLeft < nLineLeft )
+ nBtnLeft = nLineLeft;
+ }
+ else if ( ( nBtnLeft + aBtnSize.getWidth() ) > nLineRight )
nBtnLeft = nLineRight - aBtnSize.getWidth();
}