summaryrefslogtreecommitdiff
path: root/sd/source/ui/func
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/func')
-rwxr-xr-xsd/source/ui/func/fuconstr.cxx92
-rwxr-xr-xsd/source/ui/func/fudraw.cxx30
-rwxr-xr-xsd/source/ui/func/fusel.cxx8
-rwxr-xr-xsd/source/ui/func/futext.cxx11
4 files changed, 97 insertions, 44 deletions
diff --git a/sd/source/ui/func/fuconstr.cxx b/sd/source/ui/func/fuconstr.cxx
index 9f756ca0a9ce..07c39718a954 100755
--- a/sd/source/ui/func/fuconstr.cxx
+++ b/sd/source/ui/func/fuconstr.cxx
@@ -312,40 +312,74 @@ void FuConstruct::SetStyleSheet(SfxItemSet& rAttr, SdrObject* pObj)
sal_Bool bUseFillStyle, bUseNoFillStyle;
bUseFillStyle = bUseNoFillStyle = sal_False;
- if (nSlotId == SID_DRAW_RECT || // Rechteck
- nSlotId == SID_DRAW_RECT_ROUND || // Rechteck, rund
- nSlotId == SID_DRAW_SQUARE || // Quadrat
- nSlotId == SID_DRAW_SQUARE_ROUND || // Quadrat, rund
- nSlotId == SID_DRAW_ELLIPSE || // Ellipse
- nSlotId == SID_DRAW_PIE || // Ellipsensegment
- nSlotId == SID_DRAW_ELLIPSECUT || // Ellipsenabschnitt
- nSlotId == SID_DRAW_CIRCLE || // Kreis
- nSlotId == SID_DRAW_CIRCLEPIE || // Kreissegment
- nSlotId == SID_DRAW_CIRCLECUT || // Ellipsenabschnitt
- nSlotId == SID_DRAW_POLYGON || // Polygon
- nSlotId == SID_DRAW_XPOLYGON || // 45-Polygon
- nSlotId == SID_DRAW_FREELINE || // Freihandlinie
- nSlotId == SID_DRAW_BEZIER_FILL) // Bezier
+ switch( nSlotId )
+ {
+ case SID_DRAW_RECT:
+ case SID_DRAW_RECT_ROUND:
+ case SID_DRAW_SQUARE:
+ case SID_DRAW_SQUARE_ROUND:
+ case SID_DRAW_ELLIPSE:
+ case SID_DRAW_PIE:
+ case SID_DRAW_ELLIPSECUT:
+ case SID_DRAW_CIRCLE:
+ case SID_DRAW_CIRCLEPIE:
+ case SID_DRAW_CIRCLECUT:
+ case SID_DRAW_POLYGON:
+ case SID_DRAW_XPOLYGON:
+ case SID_DRAW_FREELINE:
+ case SID_DRAW_BEZIER_FILL:
{
bUseFillStyle = sal_True;
+ break;
}
- else if
- (nSlotId == SID_DRAW_RECT_NOFILL || // Rechteck
- nSlotId == SID_DRAW_RECT_ROUND_NOFILL || // Rechteck, rund
- nSlotId == SID_DRAW_SQUARE_NOFILL || // Quadrat
- nSlotId == SID_DRAW_SQUARE_ROUND_NOFILL || // Quadrat, rund
- nSlotId == SID_DRAW_ELLIPSE_NOFILL || // Ellipse
- nSlotId == SID_DRAW_PIE_NOFILL || // Ellipsensegment
- nSlotId == SID_DRAW_ELLIPSECUT_NOFILL || // Ellipsenabschnitt
- nSlotId == SID_DRAW_CIRCLE_NOFILL || // Kreis
- nSlotId == SID_DRAW_CIRCLEPIE_NOFILL || // Kreissegment
- nSlotId == SID_DRAW_CIRCLECUT_NOFILL || // Ellipsenabschnitt
- nSlotId == SID_DRAW_POLYGON_NOFILL || // Polygon
- nSlotId == SID_DRAW_XPOLYGON_NOFILL || // 45-Polygon
- nSlotId == SID_DRAW_FREELINE_NOFILL || // Freihandlinie
- nSlotId == SID_DRAW_BEZIER_NOFILL) // Bezier
+ case SID_DRAW_RECT_NOFILL:
+ case SID_DRAW_RECT_ROUND_NOFILL:
+ case SID_DRAW_SQUARE_NOFILL:
+ case SID_DRAW_SQUARE_ROUND_NOFILL:
+ case SID_DRAW_ELLIPSE_NOFILL:
+ case SID_DRAW_PIE_NOFILL:
+ case SID_DRAW_ELLIPSECUT_NOFILL:
+ case SID_DRAW_CIRCLE_NOFILL:
+ case SID_DRAW_CIRCLEPIE_NOFILL:
+ case SID_DRAW_CIRCLECUT_NOFILL:
+ case SID_DRAW_POLYGON_NOFILL:
+ case SID_DRAW_XPOLYGON_NOFILL:
+ case SID_DRAW_FREELINE_NOFILL:
+ case SID_DRAW_LINE:
+ case SID_DRAW_XLINE:
+ case SID_CONNECTOR_ARROW_START:
+ case SID_CONNECTOR_ARROW_END:
+ case SID_CONNECTOR_ARROWS:
+ case SID_CONNECTOR_CIRCLE_START:
+ case SID_CONNECTOR_CIRCLE_END:
+ case SID_CONNECTOR_CIRCLES:
+ case SID_CONNECTOR_LINE:
+ case SID_CONNECTOR_LINE_ARROW_START:
+ case SID_CONNECTOR_LINE_ARROW_END:
+ case SID_CONNECTOR_LINE_ARROWS:
+ case SID_CONNECTOR_LINE_CIRCLE_START:
+ case SID_CONNECTOR_LINE_CIRCLE_END:
+ case SID_CONNECTOR_LINE_CIRCLES:
+ case SID_CONNECTOR_CURVE:
+ case SID_CONNECTOR_CURVE_ARROW_START:
+ case SID_CONNECTOR_CURVE_ARROW_END:
+ case SID_CONNECTOR_CURVE_ARROWS:
+ case SID_CONNECTOR_CURVE_CIRCLE_START:
+ case SID_CONNECTOR_CURVE_CIRCLE_END:
+ case SID_CONNECTOR_CURVE_CIRCLES:
+ case SID_CONNECTOR_LINES:
+ case SID_CONNECTOR_LINES_ARROW_START:
+ case SID_CONNECTOR_LINES_ARROW_END:
+ case SID_CONNECTOR_LINES_ARROWS:
+ case SID_CONNECTOR_LINES_CIRCLE_START:
+ case SID_CONNECTOR_LINES_CIRCLE_END:
+ case SID_CONNECTOR_LINES_CIRCLES:
+ case SID_DRAW_BEZIER_NOFILL:
+ case SID_LINE_ARROW_END:
{
bUseNoFillStyle = sal_True;
+ break;
+ }
}
SetStyleSheet( rAttr, pObj, bUseFillStyle, bUseNoFillStyle );
}
diff --git a/sd/source/ui/func/fudraw.cxx b/sd/source/ui/func/fudraw.cxx
index ed7dffb8b4b4..8fcf4ce72c22 100755
--- a/sd/source/ui/func/fudraw.cxx
+++ b/sd/source/ui/func/fudraw.cxx
@@ -163,40 +163,40 @@ sal_Bool FuDraw::MouseButtonDown(const MouseEvent& rMEvt)
if (!mpView->IsSnapEnabled())
mpView->SetSnapEnabled(sal_True);
- sal_Bool bCntrl = rMEvt.IsMod1();
+ sal_Bool bSnapModPressed = rMEvt.IsMod1();
sal_Bool bGridSnap = pFrameView->IsGridSnap();
- bGridSnap = (bCntrl != bGridSnap);
+ bGridSnap = (bSnapModPressed != bGridSnap);
if (mpView->IsGridSnap() != bGridSnap)
mpView->SetGridSnap(bGridSnap);
sal_Bool bBordSnap = pFrameView->IsBordSnap();
- bBordSnap = (bCntrl != bBordSnap);
+ bBordSnap = (bSnapModPressed != bBordSnap);
if (mpView->IsBordSnap() != bBordSnap)
mpView->SetBordSnap(bBordSnap);
sal_Bool bHlplSnap = pFrameView->IsHlplSnap();
- bHlplSnap = (bCntrl != bHlplSnap);
+ bHlplSnap = (bSnapModPressed != bHlplSnap);
if (mpView->IsHlplSnap() != bHlplSnap)
mpView->SetHlplSnap(bHlplSnap);
sal_Bool bOFrmSnap = pFrameView->IsOFrmSnap();
- bOFrmSnap = (bCntrl != bOFrmSnap);
+ bOFrmSnap = (bSnapModPressed != bOFrmSnap);
if (mpView->IsOFrmSnap() != bOFrmSnap)
mpView->SetOFrmSnap(bOFrmSnap);
sal_Bool bOPntSnap = pFrameView->IsOPntSnap();
- bOPntSnap = (bCntrl != bOPntSnap);
+ bOPntSnap = (bSnapModPressed != bOPntSnap);
if (mpView->IsOPntSnap() != bOPntSnap)
mpView->SetOPntSnap(bOPntSnap);
sal_Bool bOConSnap = pFrameView->IsOConSnap();
- bOConSnap = (bCntrl != bOConSnap);
+ bOConSnap = (bSnapModPressed != bOConSnap);
if (mpView->IsOConSnap() != bOConSnap)
mpView->SetOConSnap(bOConSnap);
@@ -229,7 +229,7 @@ sal_Bool FuDraw::MouseButtonDown(const MouseEvent& rMEvt)
if ( bHelpLine
&& !mpView->IsCreateObj()
- && ((mpView->GetEditMode() == SDREDITMODE_EDIT && !bHitHdl) || (rMEvt.IsShift() && bCntrl)) )
+ && ((mpView->GetEditMode() == SDREDITMODE_EDIT && !bHitHdl) || (rMEvt.IsShift() && bSnapModPressed)) )
{
mpWindow->CaptureMouse();
mpView->BegDragHelpLine(nHelpLine, pPV);
@@ -285,41 +285,41 @@ sal_Bool FuDraw::MouseMove(const MouseEvent& rMEvt)
bOrtho = rMEvt.IsShift() != pFrameView->IsOrtho();
}
- sal_Bool bCntrl = rMEvt.IsMod1();
+ sal_Bool bSnapModPressed = rMEvt.IsMod2();
mpView->SetDragWithCopy(rMEvt.IsMod1() && pFrameView->IsDragWithCopy());
sal_Bool bGridSnap = pFrameView->IsGridSnap();
- bGridSnap = (bCntrl != bGridSnap);
+ bGridSnap = (bSnapModPressed != bGridSnap);
if (mpView->IsGridSnap() != bGridSnap)
mpView->SetGridSnap(bGridSnap);
sal_Bool bBordSnap = pFrameView->IsBordSnap();
- bBordSnap = (bCntrl != bBordSnap);
+ bBordSnap = (bSnapModPressed != bBordSnap);
if (mpView->IsBordSnap() != bBordSnap)
mpView->SetBordSnap(bBordSnap);
sal_Bool bHlplSnap = pFrameView->IsHlplSnap();
- bHlplSnap = (bCntrl != bHlplSnap);
+ bHlplSnap = (bSnapModPressed != bHlplSnap);
if (mpView->IsHlplSnap() != bHlplSnap)
mpView->SetHlplSnap(bHlplSnap);
sal_Bool bOFrmSnap = pFrameView->IsOFrmSnap();
- bOFrmSnap = (bCntrl != bOFrmSnap);
+ bOFrmSnap = (bSnapModPressed != bOFrmSnap);
if (mpView->IsOFrmSnap() != bOFrmSnap)
mpView->SetOFrmSnap(bOFrmSnap);
sal_Bool bOPntSnap = pFrameView->IsOPntSnap();
- bOPntSnap = (bCntrl != bOPntSnap);
+ bOPntSnap = (bSnapModPressed != bOPntSnap);
if (mpView->IsOPntSnap() != bOPntSnap)
mpView->SetOPntSnap(bOPntSnap);
sal_Bool bOConSnap = pFrameView->IsOConSnap();
- bOConSnap = (bCntrl != bOConSnap);
+ bOConSnap = (bSnapModPressed != bOConSnap);
if (mpView->IsOConSnap() != bOConSnap)
mpView->SetOConSnap(bOConSnap);
diff --git a/sd/source/ui/func/fusel.cxx b/sd/source/ui/func/fusel.cxx
index 89eeb5460232..1d0b5d918b35 100755
--- a/sd/source/ui/func/fusel.cxx
+++ b/sd/source/ui/func/fusel.cxx
@@ -436,6 +436,12 @@ sal_Bool FuSelection::MouseButtonDown(const MouseEvent& rMEvt)
mpView->BegMarkObj(aMDPos);
}
}
+
+ if( bMarked && bTempRotation && (nSlotId == SID_OBJECT_ROTATE) && !rMEvt.IsShift() && (rMEvt.GetClicks() != 2) )
+ {
+ nSlotId = SID_OBJECT_SELECT;
+ Activate();
+ }
}
}
}
@@ -711,6 +717,8 @@ sal_Bool FuSelection::MouseButtonUp(const MouseEvent& rMEvt)
if (nSlotId == SID_OBJECT_SELECT
&& mpView->IsRotateAllowed()
+
+ && (rMEvt.GetClicks() != 2)
&& (mpViewShell->GetFrameView()->IsClickChangeRotation()
|| (pSingleObj
&& pSingleObj->GetObjInventor()==E3dInventor))
diff --git a/sd/source/ui/func/futext.cxx b/sd/source/ui/func/futext.cxx
index 17256e42c5f1..cf4738be4b54 100755
--- a/sd/source/ui/func/futext.cxx
+++ b/sd/source/ui/func/futext.cxx
@@ -702,6 +702,17 @@ sal_Bool FuText::MouseButtonUp(const MouseEvent& rMEvt)
mpView->EndDragObj( mpView->IsDragWithCopy() );
mpView->ForceMarkedToAnotherPage();
mpView->SetCurrentObj(OBJ_TEXT);
+
+ USHORT nDrgLog = USHORT ( mpWindow->PixelToLogic(Size(DRGPIX,0)).Width() );
+
+ if ( mpView->IsRotateAllowed() && mpViewShell->GetFrameView()->IsClickChangeRotation() && (rMEvt.GetClicks() != 2) &&
+ !rMEvt.IsShift() && !rMEvt.IsMod1() && !rMEvt.IsMod2() && !rMEvt.IsRight() &&
+ Abs(aPnt.X() - aMDPos.X()) < nDrgLog &&
+ Abs(aPnt.Y() - aMDPos.Y()) < nDrgLog)
+ {
+ // toggle to rotation mode
+ mpViewShell->GetViewFrame()->GetDispatcher()->Execute( SID_OBJECT_ROTATE, SFX_CALLMODE_ASYNCHRON | SFX_CALLMODE_RECORD );
+ }
}
else if( mpView && mpView->IsCreateObj() && rMEvt.IsLeft())
{