diff options
author | Michael Stahl <mstahl@redhat.com> | 2016-01-19 16:08:18 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2016-01-21 12:33:45 +0100 |
commit | 1bceacf3ade2417e4a038964b3369b18f2729c94 (patch) | |
tree | d746634f6cffd92681d368f2b3dd2544e4ace2ab /oox | |
parent | 4eee0f8d1180300bd56942ad23321f8f3f1b6177 (diff) |
oox: fix indentation of PPTShape::addShape()
Change-Id: Ic878535d3bc2d57dc24cc1821d8ce8403482b253
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/ppt/pptshape.cxx | 392 |
1 files changed, 197 insertions, 195 deletions
diff --git a/oox/source/ppt/pptshape.cxx b/oox/source/ppt/pptshape.cxx index ce9b835c2b5f..4ba58afed37c 100644 --- a/oox/source/ppt/pptshape.cxx +++ b/oox/source/ppt/pptshape.cxx @@ -118,201 +118,204 @@ void PPTShape::addShape( // only placeholder from layout are being inserted if ( mnSubType && ( meShapeLocation == Master ) ) return; + + OUString sServiceName( msServiceName ); + if (sServiceName.isEmpty()) + return; try { - OUString sServiceName( msServiceName ); - if( !sServiceName.isEmpty() ) - { - oox::drawingml::TextListStylePtr aMasterTextListStyle; - Reference< lang::XMultiServiceFactory > xServiceFact( rFilterBase.getModel(), UNO_QUERY_THROW ); - bool bClearText = false; + oox::drawingml::TextListStylePtr aMasterTextListStyle; + Reference<lang::XMultiServiceFactory> xServiceFact(rFilterBase.getModel(), UNO_QUERY_THROW); + bool bClearText = false; - if ( sServiceName != "com.sun.star.drawing.GraphicObjectShape" && - sServiceName != "com.sun.star.drawing.OLE2Shape" ) + if (sServiceName != "com.sun.star.drawing.GraphicObjectShape" && + sServiceName != "com.sun.star.drawing.OLE2Shape") + { + const OUString sOutlinerShapeService("com.sun.star.presentation.OutlinerShape"); + SAL_INFO("oox.ppt","has master: " << std::hex << rSlidePersist.getMasterPersist().get()); + switch (mnSubType) { - const OUString sOutlinerShapeService( "com.sun.star.presentation.OutlinerShape" ); - SAL_INFO("oox.ppt","has master: " << std::hex << rSlidePersist.getMasterPersist().get()); - switch( mnSubType ) + case XML_ctrTitle : + case XML_title : { - case XML_ctrTitle : - case XML_title : - { - sServiceName = "com.sun.star.presentation.TitleTextShape"; - aMasterTextListStyle = rSlidePersist.getMasterPersist().get() ? rSlidePersist.getMasterPersist()->getTitleTextStyle() : rSlidePersist.getTitleTextStyle(); - bClearText = true; + sServiceName = "com.sun.star.presentation.TitleTextShape"; + aMasterTextListStyle = rSlidePersist.getMasterPersist().get() ? rSlidePersist.getMasterPersist()->getTitleTextStyle() : rSlidePersist.getTitleTextStyle(); + bClearText = true; + } + break; + case XML_subTitle : + { + if ((meShapeLocation == Master) || (meShapeLocation == Layout)) + sServiceName = OUString(); + else { + sServiceName = "com.sun.star.presentation.SubtitleShape"; + aMasterTextListStyle = rSlidePersist.getMasterPersist().get() ? rSlidePersist.getMasterPersist()->getBodyTextStyle() : rSlidePersist.getBodyTextStyle(); } - break; - case XML_subTitle : + } + break; + case XML_obj : + { + sServiceName = sOutlinerShapeService; + aMasterTextListStyle = rSlidePersist.getMasterPersist().get() ? rSlidePersist.getMasterPersist()->getBodyTextStyle() : rSlidePersist.getBodyTextStyle(); + } + break; + case XML_body : + { + if (rSlidePersist.isNotesPage()) { - if ( ( meShapeLocation == Master ) || ( meShapeLocation == Layout ) ) - sServiceName = OUString(); - else { - sServiceName = "com.sun.star.presentation.SubtitleShape"; - aMasterTextListStyle = rSlidePersist.getMasterPersist().get() ? rSlidePersist.getMasterPersist()->getBodyTextStyle() : rSlidePersist.getBodyTextStyle(); - } + sServiceName = "com.sun.star.presentation.NotesShape"; + aMasterTextListStyle = rSlidePersist.getMasterPersist().get() ? rSlidePersist.getMasterPersist()->getNotesTextStyle() : rSlidePersist.getNotesTextStyle(); } - break; - case XML_obj : + else { sServiceName = sOutlinerShapeService; aMasterTextListStyle = rSlidePersist.getMasterPersist().get() ? rSlidePersist.getMasterPersist()->getBodyTextStyle() : rSlidePersist.getBodyTextStyle(); } - break; - case XML_body : - { - if ( rSlidePersist.isNotesPage() ) - { - sServiceName = "com.sun.star.presentation.NotesShape"; - aMasterTextListStyle = rSlidePersist.getMasterPersist().get() ? rSlidePersist.getMasterPersist()->getNotesTextStyle() : rSlidePersist.getNotesTextStyle(); - } - else - { - sServiceName = sOutlinerShapeService; - aMasterTextListStyle = rSlidePersist.getMasterPersist().get() ? rSlidePersist.getMasterPersist()->getBodyTextStyle() : rSlidePersist.getBodyTextStyle(); - } - } - break; - case XML_dt : - sServiceName = "com.sun.star.presentation.DateTimeShape"; - bClearText = true; - break; - case XML_hdr : - sServiceName = "com.sun.star.presentation.HeaderShape"; - bClearText = true; - break; - case XML_ftr : - sServiceName = "com.sun.star.presentation.FooterShape"; - bClearText = true; - break; - case XML_sldNum : - sServiceName = "com.sun.star.presentation.SlideNumberShape"; - bClearText = true; - break; - case XML_sldImg : - sServiceName = "com.sun.star.presentation.PageShape"; - break; - case XML_chart : - if ( meShapeLocation == Layout ) - sServiceName = sOutlinerShapeService; - else - sServiceName = "com.sun.star.presentation.ChartShape"; - break; - case XML_tbl : - if ( meShapeLocation == Layout ) - sServiceName = sOutlinerShapeService; - else - sServiceName = "com.sun.star.presentation.TableShape"; - break; - case XML_pic : - if ( meShapeLocation == Layout ) - sServiceName = sOutlinerShapeService; - else - sServiceName = "com.sun.star.presentation.GraphicObjectShape"; - break; - case XML_media : - if ( meShapeLocation == Layout ) - sServiceName = sOutlinerShapeService; - else - sServiceName = "com.sun.star.presentation.MediaShape"; - break; - default: - if ( mnSubType && meShapeLocation == Layout ) - sServiceName = sOutlinerShapeService; - break; } + break; + case XML_dt : + sServiceName = "com.sun.star.presentation.DateTimeShape"; + bClearText = true; + break; + case XML_hdr : + sServiceName = "com.sun.star.presentation.HeaderShape"; + bClearText = true; + break; + case XML_ftr : + sServiceName = "com.sun.star.presentation.FooterShape"; + bClearText = true; + break; + case XML_sldNum : + sServiceName = "com.sun.star.presentation.SlideNumberShape"; + bClearText = true; + break; + case XML_sldImg : + sServiceName = "com.sun.star.presentation.PageShape"; + break; + case XML_chart : + if (meShapeLocation == Layout) + sServiceName = sOutlinerShapeService; + else + sServiceName = "com.sun.star.presentation.ChartShape"; + break; + case XML_tbl : + if (meShapeLocation == Layout) + sServiceName = sOutlinerShapeService; + else + sServiceName = "com.sun.star.presentation.TableShape"; + break; + case XML_pic : + if (meShapeLocation == Layout) + sServiceName = sOutlinerShapeService; + else + sServiceName = "com.sun.star.presentation.GraphicObjectShape"; + break; + case XML_media : + if (meShapeLocation == Layout) + sServiceName = sOutlinerShapeService; + else + sServiceName = "com.sun.star.presentation.MediaShape"; + break; + default: + if (mnSubType && meShapeLocation == Layout) + sServiceName = sOutlinerShapeService; + break; } + } + + SAL_INFO("oox.ppt","shape service: " << sServiceName); - SAL_INFO("oox.ppt","shape service: " << sServiceName); - - if( mnSubType && getSubTypeIndex().has() && meShapeLocation == Layout ) { - oox::drawingml::ShapePtr pPlaceholder = PPTShape::findPlaceholderByIndex( getSubTypeIndex().get(), rSlidePersist.getShapes()->getChildren(), true ); - if (!pPlaceholder.get()) - pPlaceholder = PPTShape::findPlaceholder( mnSubType, 0, getSubTypeIndex(), rSlidePersist.getShapes()->getChildren(), true ); - - if (pPlaceholder.get()) { - if( maSize.Width == 0 || maSize.Height == 0 ) { - awt::Size aSize = maSize; - if( maSize.Width == 0 ) - aSize.Width = pPlaceholder->getSize().Width; - if( maSize.Height == 0 ) - aSize.Height = pPlaceholder->getSize().Height; - setSize( aSize ); - if ( maPosition.X == 0 || maPosition.Y == 0 ) { - awt::Point aPosition = maPosition; - if( maPosition.X == 0 ) - aPosition.X = pPlaceholder->getPosition().X; - if( maPosition.Y == 0 ) - aPosition.Y = pPlaceholder->getPosition().Y; - setPosition( aPosition ); - } + if (mnSubType && getSubTypeIndex().has() && meShapeLocation == Layout) + { + oox::drawingml::ShapePtr pPlaceholder = PPTShape::findPlaceholderByIndex( getSubTypeIndex().get(), rSlidePersist.getShapes()->getChildren(), true ); + if (!pPlaceholder.get()) + pPlaceholder = PPTShape::findPlaceholder( mnSubType, 0, getSubTypeIndex(), rSlidePersist.getShapes()->getChildren(), true ); + + if (pPlaceholder.get()) { + if (maSize.Width == 0 || maSize.Height == 0) { + awt::Size aSize = maSize; + if (maSize.Width == 0) + aSize.Width = pPlaceholder->getSize().Width; + if (maSize.Height == 0) + aSize.Height = pPlaceholder->getSize().Height; + setSize( aSize ); + if (maPosition.X == 0 || maPosition.Y == 0) { + awt::Point aPosition = maPosition; + if (maPosition.X == 0) + aPosition.X = pPlaceholder->getPosition().X; + if (maPosition.Y == 0) + aPosition.Y = pPlaceholder->getPosition().Y; + setPosition( aPosition ); } } } + } - // use placeholder index if possible - if( mnSubType && getSubTypeIndex().has() && rSlidePersist.getMasterPersist().get() ) { - oox::drawingml::ShapePtr pPlaceholder = PPTShape::findPlaceholderByIndex( getSubTypeIndex().get(), rSlidePersist.getMasterPersist()->getShapes()->getChildren() ); - // TODO: Check if this is required for non-notes slides as well... - if( rSlidePersist.isNotesPage() && pPlaceholder.get() && pPlaceholder->getSubType() != getSubType() ) - pPlaceholder.reset(); + // use placeholder index if possible + if (mnSubType && getSubTypeIndex().has() && rSlidePersist.getMasterPersist().get()) + { + oox::drawingml::ShapePtr pPlaceholder = PPTShape::findPlaceholderByIndex(getSubTypeIndex().get(), rSlidePersist.getMasterPersist()->getShapes()->getChildren()); + // TODO: Check if this is required for non-notes slides as well... + if (rSlidePersist.isNotesPage() && pPlaceholder.get() && pPlaceholder->getSubType() != getSubType()) + pPlaceholder.reset(); - if( pPlaceholder.get()) { - SAL_INFO("oox.ppt","found placeholder with index: " << getSubTypeIndex().get() << " and type: " << lclDebugSubType( mnSubType )); - } - if( pPlaceholder.get() ) { - PPTShape* pPPTPlaceholder = dynamic_cast< PPTShape* >( pPlaceholder.get() ); - TextListStylePtr pNewTextListStyle ( new TextListStyle() ); + if (pPlaceholder.get()) { + SAL_INFO("oox.ppt","found placeholder with index: " << getSubTypeIndex().get() << " and type: " << lclDebugSubType( mnSubType )); + } + if (pPlaceholder.get()) { + PPTShape* pPPTPlaceholder = dynamic_cast< PPTShape* >( pPlaceholder.get() ); + TextListStylePtr pNewTextListStyle ( new TextListStyle() ); - if( pPlaceholder->getTextBody() ) { + if (pPlaceholder->getTextBody()) { - pNewTextListStyle->apply( pPlaceholder->getTextBody()->getTextListStyle() ); - if( pPlaceholder->getMasterTextListStyle().get() ) - pNewTextListStyle->apply( *pPlaceholder->getMasterTextListStyle() ); + pNewTextListStyle->apply( pPlaceholder->getTextBody()->getTextListStyle() ); + if (pPlaceholder->getMasterTextListStyle().get()) + pNewTextListStyle->apply( *pPlaceholder->getMasterTextListStyle() ); - // SAL_INFO("oox.ppt","placeholder body style"); - // pPlaceholder->getTextBody()->getTextListStyle().dump(); - // SAL_INFO("oox.ppt","master text list style"); - // pPlaceholder->getMasterTextListStyle()->dump(); + // SAL_INFO("oox.ppt","placeholder body style"); + // pPlaceholder->getTextBody()->getTextListStyle().dump(); + // SAL_INFO("oox.ppt","master text list style"); + // pPlaceholder->getMasterTextListStyle()->dump(); - aMasterTextListStyle = pNewTextListStyle; - // SAL_INFO("oox.ppt","combined master text list style"); - // aMasterTextListStyle->dump(); - } - if( pPPTPlaceholder && pPPTPlaceholder->mpPlaceholder.get() ) { - SAL_INFO("oox.ppt","placeholder has parent placeholder: " << pPPTPlaceholder->mpPlaceholder->getId() << " type: " << lclDebugSubType( pPPTPlaceholder->mpPlaceholder->getSubType() ) << " index: " << pPPTPlaceholder->mpPlaceholder->getSubTypeIndex().get() ); - SAL_INFO("oox.ppt","has textbody " << (pPPTPlaceholder->mpPlaceholder->getTextBody() != nullptr) ); - TextListStylePtr pPlaceholderStyle = getSubTypeTextListStyle( rSlidePersist, pPPTPlaceholder->mpPlaceholder->getSubType() ); - if( pPPTPlaceholder->mpPlaceholder->getTextBody() ) - pNewTextListStyle->apply( pPPTPlaceholder->mpPlaceholder->getTextBody()->getTextListStyle() ); - if( pPlaceholderStyle.get() ) { - pNewTextListStyle->apply( *pPlaceholderStyle ); - //pPlaceholderStyle->dump(); - } + aMasterTextListStyle = pNewTextListStyle; + // SAL_INFO("oox.ppt","combined master text list style"); + // aMasterTextListStyle->dump(); + } + if (pPPTPlaceholder && pPPTPlaceholder->mpPlaceholder.get()) { + SAL_INFO("oox.ppt","placeholder has parent placeholder: " << pPPTPlaceholder->mpPlaceholder->getId() << " type: " << lclDebugSubType( pPPTPlaceholder->mpPlaceholder->getSubType() ) << " index: " << pPPTPlaceholder->mpPlaceholder->getSubTypeIndex().get() ); + SAL_INFO("oox.ppt","has textbody " << (pPPTPlaceholder->mpPlaceholder->getTextBody() != nullptr) ); + TextListStylePtr pPlaceholderStyle = getSubTypeTextListStyle( rSlidePersist, pPPTPlaceholder->mpPlaceholder->getSubType() ); + if (pPPTPlaceholder->mpPlaceholder->getTextBody()) + pNewTextListStyle->apply( pPPTPlaceholder->mpPlaceholder->getTextBody()->getTextListStyle() ); + if (pPlaceholderStyle.get()) { + pNewTextListStyle->apply( *pPlaceholderStyle ); + //pPlaceholderStyle->dump(); } - } else if( !mpPlaceholder.get() ) { - aMasterTextListStyle.reset(); } - SAL_INFO("oox.ppt","placeholder id: " << (pPlaceholder.get() ? pPlaceholder->getId() : "not found")); + } else if (!mpPlaceholder.get()) { + aMasterTextListStyle.reset(); } + SAL_INFO("oox.ppt","placeholder id: " << (pPlaceholder.get() ? pPlaceholder->getId() : "not found")); + } - if ( !sServiceName.isEmpty() ) + if (!sServiceName.isEmpty()) + { + if (!aMasterTextListStyle.get()) { - if ( !aMasterTextListStyle.get() ) + bool isOther = !getTextBody().get() && sServiceName != "com.sun.star.drawing.GroupShape"; + TextListStylePtr aSlideStyle = isOther ? rSlidePersist.getOtherTextStyle() : rSlidePersist.getDefaultTextStyle(); + // Combine from MasterSlide details as well. + if (rSlidePersist.getMasterPersist().get()) { - bool isOther = !getTextBody().get() && sServiceName != "com.sun.star.drawing.GroupShape"; - TextListStylePtr aSlideStyle = isOther ? rSlidePersist.getOtherTextStyle() : rSlidePersist.getDefaultTextStyle(); - // Combine from MasterSlide details as well. - if( rSlidePersist.getMasterPersist().get() ) - { - aMasterTextListStyle = isOther ? rSlidePersist.getMasterPersist()->getOtherTextStyle() : rSlidePersist.getMasterPersist()->getDefaultTextStyle(); - if( aSlideStyle.get() ) - aMasterTextListStyle->apply( *aSlideStyle.get() ); - } - else - { - aMasterTextListStyle = aSlideStyle; - } + aMasterTextListStyle = isOther ? rSlidePersist.getMasterPersist()->getOtherTextStyle() : rSlidePersist.getMasterPersist()->getDefaultTextStyle(); + if (aSlideStyle.get()) + aMasterTextListStyle->apply( *aSlideStyle.get() ); + } + else + { + aMasterTextListStyle = aSlideStyle; } + } if( aMasterTextListStyle.get() && getTextBody().get() ) { TextListStylePtr aCombinedTextListStyle (new TextListStyle()); @@ -328,46 +331,45 @@ void PPTShape::addShape( setMasterTextListStyle( aMasterTextListStyle ); Reference< XShape > xShape( createAndInsert( rFilterBase, sServiceName, pTheme, rxShapes, pShapeRect, bClearText, mpPlaceholder.get() != nullptr, aTransformation, getFillProperties() ) ); - if ( !rSlidePersist.isMasterPage() && rSlidePersist.getPage().is() && ( (sal_Int32)mnSubType == XML_title ) ) - { - try + if (!rSlidePersist.isMasterPage() && rSlidePersist.getPage().is() && ((sal_Int32)mnSubType == XML_title)) + { + try + { + OUString aTitleText; + Reference<XTextRange> xText(xShape, UNO_QUERY_THROW); + aTitleText = xText->getString(); + if (!aTitleText.isEmpty() && (aTitleText.getLength() < 64)) // just a magic value, but we don't want to set slide names which are too long { - OUString aTitleText; - Reference< XTextRange > xText( xShape, UNO_QUERY_THROW ); - aTitleText = xText->getString(); - if ( !aTitleText.isEmpty() && ( aTitleText.getLength() < 64 ) ) // just a magic value, but we don't want to set slide names which are too long - { - Reference< container::XNamed > xName( rSlidePersist.getPage(), UNO_QUERY_THROW ); - xName->setName( aTitleText ); - } + Reference<container::XNamed> xName(rSlidePersist.getPage(), UNO_QUERY_THROW); + xName->setName(aTitleText); } - catch( uno::Exception& ) - { + } + catch (uno::Exception&) + { - } } - if( pShapeMap ) + } + if (pShapeMap) + { + // bnc#705982 - if optional model id reference is + // there, use that to obtain target shape + if (!msModelId.isEmpty()) + { + (*pShapeMap)[ msModelId ] = shared_from_this(); + } + else if (!msId.isEmpty()) { - // bnc#705982 - if optional model id reference is - // there, use that to obtain target shape - if( !msModelId.isEmpty() ) - { - (*pShapeMap)[ msModelId ] = shared_from_this(); - } - else if( !msId.isEmpty() ) - { - (*pShapeMap)[ msId ] = shared_from_this(); - } + (*pShapeMap)[ msId ] = shared_from_this(); } - - // if this is a group shape, we have to add also each child shape - Reference< XShapes > xShapes( xShape, UNO_QUERY ); - if ( xShapes.is() ) - addChildren( rFilterBase, *this, pTheme, xShapes, pShapeRect ? *pShapeRect : awt::Rectangle( maPosition.X, maPosition.Y, maSize.Width, maSize.Height ), pShapeMap, aTransformation ); } + + // if this is a group shape, we have to add also each child shape + Reference<XShapes> xShapes(xShape, UNO_QUERY); + if (xShapes.is()) + addChildren( rFilterBase, *this, pTheme, xShapes, pShapeRect ? *pShapeRect : awt::Rectangle( maPosition.X, maPosition.Y, maSize.Width, maSize.Height ), pShapeMap, aTransformation ); } } - catch( const Exception& ) + catch (const Exception&) { } } |