diff options
Diffstat (limited to 'oox/source')
-rw-r--r-- | oox/source/ppt/timenode.cxx | 6 | ||||
-rw-r--r-- | oox/source/ppt/timenodelistcontext.cxx | 9 |
2 files changed, 15 insertions, 0 deletions
diff --git a/oox/source/ppt/timenode.cxx b/oox/source/ppt/timenode.cxx index 132c54b79f4a..978c24a0eabe 100644 --- a/oox/source/ppt/timenode.cxx +++ b/oox/source/ppt/timenode.cxx @@ -336,6 +336,12 @@ namespace oox::ppt { if( xAnimate.is() ) xAnimate->setBy( aValue ); break; + case NP_HIDEDURINGSHOW: + if (xAudio.is() && (aValue >>= bBool)) + { + xAudio->setHideDuringShow(bBool); + } + break; case NP_TARGET: if (xParent.is() && xParent->getType() == AnimationNodeType::ITERATE) diff --git a/oox/source/ppt/timenodelistcontext.cxx b/oox/source/ppt/timenodelistcontext.cxx index 3b40af62f2d0..d30e69f53be1 100644 --- a/oox/source/ppt/timenodelistcontext.cxx +++ b/oox/source/ppt/timenodelistcontext.cxx @@ -152,6 +152,7 @@ namespace oox::ppt { : TimeNodeContext( rParent, aElement, pNode ) , mbIsNarration( false ) , mbFullScrn( false ) + , mbHideDuringShow(false) { AttributeList attribs( xAttribs ); @@ -179,6 +180,10 @@ namespace oox::ppt { { // TODO deal with mbFullScrn } + else if (aElement == PPT_TOKEN(cMediaNode)) + { + mpNode->getNodeProperties()[NP_HIDEDURINGSHOW] <<= mbHideDuringShow; + } } virtual ::oox::core::ContextHandlerRef onCreateContext( sal_Int32 aElementToken, const AttributeList& rAttribs) override @@ -189,6 +194,9 @@ namespace oox::ppt { return new CommonTimeNodeContext( *this, aElementToken, rAttribs.getFastAttributeList(), mpNode ); case PPT_TOKEN( tgtEl ): return new TimeTargetElementContext( *this, mpNode->getTarget() ); + case PPT_TOKEN(cMediaNode): + mbHideDuringShow = !rAttribs.getBool(XML_showWhenStopped, true); + break; default: break; } @@ -199,6 +207,7 @@ namespace oox::ppt { private: bool mbIsNarration; bool mbFullScrn; + bool mbHideDuringShow; }; /** CT_TLSetBehavior |