From 55525d4462565f4e47e92854158c5fe7a7e457ab Mon Sep 17 00:00:00 2001 From: Christian Lippka Date: Thu, 25 Feb 2010 18:04:05 +0100 Subject: more fixes for new presentation layout shapes --- sd/source/ui/view/sdview4.cxx | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'sd/source/ui/view/sdview4.cxx') diff --git a/sd/source/ui/view/sdview4.cxx b/sd/source/ui/view/sdview4.cxx index 49496086e084..aeebb7d63f69 100644 --- a/sd/source/ui/view/sdview4.cxx +++ b/sd/source/ui/view/sdview4.cxx @@ -123,6 +123,9 @@ SdrGrafObj* View::InsertGraphic( const Graphic& rGraphic, sal_Int8& rAction, const bool bIsGraphic = pPickObj->ISA( SdrGrafObj ); if( bIsGraphic || pObj->IsEmptyPresObj() ) { + if( IsUndoEnabled() ) + BegUndo(String(SdResId(STR_INSERTGRAPHIC))); + SdPage* pPage = (SdPage*) pPickObj->GetPage(); if( bIsGraphic ) @@ -157,10 +160,8 @@ SdrGrafObj* View::InsertGraphic( const Graphic& rGraphic, sal_Int8& rAction, ReplaceObjectAtView(pPickObj, *pPV, pNewGrafObj); // maybe ReplaceObjectAtView - if( !IsUndoEnabled() && pPickObj ) - { - SdrObject::Free( pPickObj ); - } + if( IsUndoEnabled() ) + EndUndo(); } else if (pPickObj->IsClosedObj() && !pPickObj->ISA(SdrOle2Obj)) { @@ -329,13 +330,14 @@ SdrMediaObj* View::InsertMediaURL( const rtl::OUString& rMediaURL, sal_Int8& rAc pNewMediaObj = new SdrMediaObj( aRect ); + bool bIsPres = false; if( pPickObj ) { SdPage* pPage = static_cast< SdPage* >(pPickObj->GetPage()); - if(pPage && pPage->IsPresObj(pPickObj)) + bIsPres = pPage && pPage->IsPresObj(pPickObj); + if( bIsPres ) { pPage->InsertPresObj( pNewMediaObj, PRESOBJ_MEDIA ); - pNewMediaObj->SetUserCall(pPickObj->GetUserCall()); } } @@ -347,10 +349,11 @@ SdrMediaObj* View::InsertMediaURL( const rtl::OUString& rMediaURL, sal_Int8& rAc pNewMediaObj->setURL( rMediaURL ); if( pPickObj ) + { pNewMediaObj->AdjustToMaxRect( pPickObj->GetLogicRect() ); - - if( !IsUndoEnabled() ) - SdrObject::Free( pPickObj ); + if( bIsPres ) + pNewMediaObj->SetUserCall(pPickObj->GetUserCall()); + } } rAction = mnAction; -- cgit