diff options
author | Matthias Huetsch [mhu] <matthias.huetsch@oracle.com> | 2011-01-27 18:16:28 +0100 |
---|---|---|
committer | Matthias Huetsch [mhu] <matthias.huetsch@oracle.com> | 2011-01-27 18:16:28 +0100 |
commit | cff21146b09d6bd46d83cf6a36bac14d340b6c9c (patch) | |
tree | fd3c068484f281253ebe425550fe6b0798d1f79d /sd/source/ui/func | |
parent | 563aab4eddce3503905a2b404f653531b3ba9439 (diff) | |
parent | fa27b2da2f8e7bd9bafb4a057318ac22577727dd (diff) |
Update from master repository (DEV300_m98).
Diffstat (limited to 'sd/source/ui/func')
-rwxr-xr-x | sd/source/ui/func/fuconstr.cxx | 92 | ||||
-rwxr-xr-x | sd/source/ui/func/fudraw.cxx | 30 | ||||
-rwxr-xr-x[-rw-r--r--] | sd/source/ui/func/fuexpand.cxx | 3 | ||||
-rwxr-xr-x | sd/source/ui/func/fuinsert.cxx | 5 | ||||
-rwxr-xr-x | sd/source/ui/func/fupage.cxx | 17 | ||||
-rwxr-xr-x[-rw-r--r--] | sd/source/ui/func/fusel.cxx | 8 | ||||
-rwxr-xr-x[-rw-r--r--] | sd/source/ui/func/futempl.cxx | 2 | ||||
-rwxr-xr-x[-rw-r--r--] | sd/source/ui/func/futext.cxx | 24 |
8 files changed, 129 insertions, 52 deletions
diff --git a/sd/source/ui/func/fuconstr.cxx b/sd/source/ui/func/fuconstr.cxx index c0d8235e97fb..a1ab9b853ff4 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 5cc3cc49ca88..4d03abd7b8bc 100755 --- a/sd/source/ui/func/fudraw.cxx +++ b/sd/source/ui/func/fudraw.cxx @@ -163,40 +163,40 @@ BOOL FuDraw::MouseButtonDown(const MouseEvent& rMEvt) if (!mpView->IsSnapEnabled()) mpView->SetSnapEnabled(TRUE); - BOOL bCntrl = rMEvt.IsMod1(); + BOOL bSnapModPressed = rMEvt.IsMod1(); BOOL bGridSnap = pFrameView->IsGridSnap(); - bGridSnap = (bCntrl != bGridSnap); + bGridSnap = (bSnapModPressed != bGridSnap); if (mpView->IsGridSnap() != bGridSnap) mpView->SetGridSnap(bGridSnap); BOOL bBordSnap = pFrameView->IsBordSnap(); - bBordSnap = (bCntrl != bBordSnap); + bBordSnap = (bSnapModPressed != bBordSnap); if (mpView->IsBordSnap() != bBordSnap) mpView->SetBordSnap(bBordSnap); BOOL bHlplSnap = pFrameView->IsHlplSnap(); - bHlplSnap = (bCntrl != bHlplSnap); + bHlplSnap = (bSnapModPressed != bHlplSnap); if (mpView->IsHlplSnap() != bHlplSnap) mpView->SetHlplSnap(bHlplSnap); BOOL bOFrmSnap = pFrameView->IsOFrmSnap(); - bOFrmSnap = (bCntrl != bOFrmSnap); + bOFrmSnap = (bSnapModPressed != bOFrmSnap); if (mpView->IsOFrmSnap() != bOFrmSnap) mpView->SetOFrmSnap(bOFrmSnap); BOOL bOPntSnap = pFrameView->IsOPntSnap(); - bOPntSnap = (bCntrl != bOPntSnap); + bOPntSnap = (bSnapModPressed != bOPntSnap); if (mpView->IsOPntSnap() != bOPntSnap) mpView->SetOPntSnap(bOPntSnap); BOOL bOConSnap = pFrameView->IsOConSnap(); - bOConSnap = (bCntrl != bOConSnap); + bOConSnap = (bSnapModPressed != bOConSnap); if (mpView->IsOConSnap() != bOConSnap) mpView->SetOConSnap(bOConSnap); @@ -229,7 +229,7 @@ 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 @@ BOOL FuDraw::MouseMove(const MouseEvent& rMEvt) bOrtho = rMEvt.IsShift() != pFrameView->IsOrtho(); } - BOOL bCntrl = rMEvt.IsMod1(); + BOOL bSnapModPressed = rMEvt.IsMod2(); mpView->SetDragWithCopy(rMEvt.IsMod1() && pFrameView->IsDragWithCopy()); BOOL bGridSnap = pFrameView->IsGridSnap(); - bGridSnap = (bCntrl != bGridSnap); + bGridSnap = (bSnapModPressed != bGridSnap); if (mpView->IsGridSnap() != bGridSnap) mpView->SetGridSnap(bGridSnap); BOOL bBordSnap = pFrameView->IsBordSnap(); - bBordSnap = (bCntrl != bBordSnap); + bBordSnap = (bSnapModPressed != bBordSnap); if (mpView->IsBordSnap() != bBordSnap) mpView->SetBordSnap(bBordSnap); BOOL bHlplSnap = pFrameView->IsHlplSnap(); - bHlplSnap = (bCntrl != bHlplSnap); + bHlplSnap = (bSnapModPressed != bHlplSnap); if (mpView->IsHlplSnap() != bHlplSnap) mpView->SetHlplSnap(bHlplSnap); BOOL bOFrmSnap = pFrameView->IsOFrmSnap(); - bOFrmSnap = (bCntrl != bOFrmSnap); + bOFrmSnap = (bSnapModPressed != bOFrmSnap); if (mpView->IsOFrmSnap() != bOFrmSnap) mpView->SetOFrmSnap(bOFrmSnap); BOOL bOPntSnap = pFrameView->IsOPntSnap(); - bOPntSnap = (bCntrl != bOPntSnap); + bOPntSnap = (bSnapModPressed != bOPntSnap); if (mpView->IsOPntSnap() != bOPntSnap) mpView->SetOPntSnap(bOPntSnap); BOOL bOConSnap = pFrameView->IsOConSnap(); - bOConSnap = (bCntrl != bOConSnap); + bOConSnap = (bSnapModPressed != bOConSnap); if (mpView->IsOConSnap() != bOConSnap) mpView->SetOConSnap(bOConSnap); diff --git a/sd/source/ui/func/fuexpand.cxx b/sd/source/ui/func/fuexpand.cxx index 281e4c692228..e45b8ce36673 100644..100755 --- a/sd/source/ui/func/fuexpand.cxx +++ b/sd/source/ui/func/fuexpand.cxx @@ -84,6 +84,9 @@ FunctionReference FuExpandPage::Create( ViewShell* pViewSh, ::sd::Window* pWin, void FuExpandPage::DoExecute( SfxRequest& ) { + if ( mpView && mpView->IsTextEdit() ) + mpView->SdrEndTextEdit(); + // Selektierte Seite finden (nur Standard-Seiten) SdPage* pActualPage = NULL; USHORT i = 0; diff --git a/sd/source/ui/func/fuinsert.cxx b/sd/source/ui/func/fuinsert.cxx index 2db29c725718..f29288ea2b03 100755 --- a/sd/source/ui/func/fuinsert.cxx +++ b/sd/source/ui/func/fuinsert.cxx @@ -42,7 +42,7 @@ #include <tools/urlobj.hxx> #include <svl/urihelper.hxx> - +#include <sfx2/msgpool.hxx> #include <svtools/sores.hxx> #include <svtools/insdlg.hxx> #include <sfx2/request.hxx> @@ -454,12 +454,11 @@ void FuInsertOLE::DoExecute( SfxRequest& rReq ) // intentionally no break! } case SID_INSERT_PLUGIN : - case SID_INSERT_APPLET : case SID_INSERT_FLOATINGFRAME : { SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); SfxAbstractInsertObjectDialog* pDlg = - pFact->CreateInsertObjectDialog( mpViewShell->GetActiveWindow(), nSlotId, + pFact->CreateInsertObjectDialog( mpViewShell->GetActiveWindow(), SD_MOD()->GetSlotPool()->GetSlot(nSlotId)->GetCommandString(), xStorage, &aServerLst ); if ( pDlg ) { diff --git a/sd/source/ui/func/fupage.cxx b/sd/source/ui/func/fupage.cxx index 9fb0007cc72c..d4e2fcd8083f 100755 --- a/sd/source/ui/func/fupage.cxx +++ b/sd/source/ui/func/fupage.cxx @@ -318,7 +318,12 @@ const SfxItemSet* FuPage::ExecuteDialog( Window* pParent ) pTempSet.reset( new SfxItemSet( mpDoc->GetPool(), XATTR_FILL_FIRST, XATTR_FILL_LAST, 0) ); pTempSet->Put( XFillStyleItem( XFILL_BITMAP ) ); - pTempSet->Put( XFillBitmapItem( String(RTL_CONSTASCII_USTRINGPARAM("background")), XOBitmap(aGraphic) ) ); + + // MigrateItemSet makes sure the XFillBitmapItem will have a unique name + SfxItemSet aMigrateSet( mpDoc->GetPool(), XATTR_FILLBITMAP, XATTR_FILLBITMAP ); + aMigrateSet.Put( XFillBitmapItem( String(RTL_CONSTASCII_USTRINGPARAM("background")), XOBitmap(aGraphic) ) ); + mpDoc->MigrateItemSet( &aMigrateSet, pTempSet.get(), NULL ); + pTempSet->Put( XFillBmpStretchItem( TRUE )); pTempSet->Put( XFillBmpTileItem( FALSE )); } @@ -449,6 +454,16 @@ const SfxItemSet* FuPage::ExecuteDialog( Window* pParent ) } + // if background filling is set to master pages then clear from page set + if( mbMasterPage || bSetToAllPages ) + { + for( USHORT nWhich = XATTR_FILL_FIRST; nWhich <= XATTR_FILL_LAST; nWhich++ ) + { + pTempSet->ClearItem( nWhich ); + } + pTempSet->Put(XFillStyleItem(XFILL_NONE)); + } + const SfxPoolItem *pItem; if( SFX_ITEM_SET == pTempSet->GetItemState( EE_PARA_WRITINGDIR, sal_False, &pItem ) ) { diff --git a/sd/source/ui/func/fusel.cxx b/sd/source/ui/func/fusel.cxx index 2ddf6a5fb885..5c380da547bc 100644..100755 --- a/sd/source/ui/func/fusel.cxx +++ b/sd/source/ui/func/fusel.cxx @@ -436,6 +436,12 @@ 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 @@ 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/futempl.cxx b/sd/source/ui/func/futempl.cxx index 43572c2af8a4..437d4bc246a6 100644..100755 --- a/sd/source/ui/func/futempl.cxx +++ b/sd/source/ui/func/futempl.cxx @@ -54,7 +54,7 @@ #include <svx/xlndsit.hxx> #include <svx/xlnstit.hxx> #include <svx/xlnedit.hxx> - +#include "app.hrc" #include "stlsheet.hxx" #include "sdpage.hxx" #include "stlpool.hxx" diff --git a/sd/source/ui/func/futext.cxx b/sd/source/ui/func/futext.cxx index 2fd808dcda3e..2835821796a1 100644..100755 --- a/sd/source/ui/func/futext.cxx +++ b/sd/source/ui/func/futext.cxx @@ -400,10 +400,17 @@ BOOL FuText::MouseButtonDown(const MouseEvent& rMEvt) // do the EndTextEdit first, it will delete the handles and force a // recreation. This will make aVEvt.pHdl to point to a deleted handle, // thus it is necessary to reset it and to get it again. - ::Outliner* pOutl = mpView->GetTextEditOutliner(); - if (mxTextObj.is() && (mxTextObj->GetOutlinerParaObject() || - (pOutl && pOutl->GetText(pOutl->GetParagraph( 0 )).Len() != 0))) + // #i112855# + // cl: I'm not sure why we checked here also for mxTextObj->GetOutlinerParaObjet + // this caused SdrEndTextEdit() to be called also when not in text editing and + // this does not make sense and caused troubles. (see issue 112855) + +// ::Outliner* pOutl = mpView->GetTextEditOutliner(); +// +// if (mxTextObj.is() && (mxTextObj->GetOutlinerParaObject() || +// (pOutl && pOutl->GetText(pOutl->GetParagraph( 0 )).Len() != 0))) + if( mpView->IsTextEdit() ) { mpView->SdrEndTextEdit(); @@ -695,6 +702,17 @@ 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()) { |