summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/source/ui/docvw/edtwin.cxx17
1 files changed, 13 insertions, 4 deletions
diff --git a/sw/source/ui/docvw/edtwin.cxx b/sw/source/ui/docvw/edtwin.cxx
index 4ab955565532..af7987532ee4 100644
--- a/sw/source/ui/docvw/edtwin.cxx
+++ b/sw/source/ui/docvw/edtwin.cxx
@@ -4012,15 +4012,24 @@ void SwEditWin::MouseMove(const MouseEvent& _rMEvt)
if( bIsDocReadOnly )
break;
+ bool bIsSelectionGfx = rSh.GetSelectionType() & nsSelectionType::SEL_GRF;
+ bool bisResize = eSdrMoveHdl != HDL_MOVE;
+
if ( rMEvt.IsShift() )
{
- pSdrView->SetOrtho(true);
- pSdrView->SetAngleSnapEnabled(sal_True);
+ pSdrView->SetAngleSnapEnabled(!bIsSelectionGfx);
+ if (bisResize)
+ pSdrView->SetOrtho(!bIsSelectionGfx);
+ else
+ pSdrView->SetOrtho(true);
}
else
{
- pSdrView->SetOrtho(false);
- pSdrView->SetAngleSnapEnabled(sal_False);
+ pSdrView->SetAngleSnapEnabled(bIsSelectionGfx);
+ if (bisResize)
+ pSdrView->SetOrtho(bIsSelectionGfx);
+ else
+ pSdrView->SetOrtho(false);
}
rSh.Drag( &aDocPt, rMEvt.IsShift() );