Kaydet (Commit) 8b550ff4 authored tarafından Caolán McNamara's avatar Caolán McNamara

tdf#121830, tdf#121942 TogglePause should reset to original...

state on deactivate_st ?

is that how it should work, or should there be an additional TogglePause
created at import time to get the apparent intended pause effect

Reviewed-on: https://gerrit.libreoffice.org/64548
Tested-by: Jenkins
Reviewed-by: 's avatarThorsten Behrens <Thorsten.Behrens@CIB.de>
(cherry picked from commit 1aa10fcb)

Change-Id: I0573bd8d9534271f2b36d7ab3b8cdc20e0f985a1
Reviewed-on: https://gerrit.libreoffice.org/64621
Tested-by: Jenkins
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 89d65f96
......@@ -38,6 +38,7 @@ AnimationCommandNode::AnimationCommandNode( uno::Reference<animations::XAnimatio
::std::shared_ptr<BaseContainerNode> const& pParent,
NodeContext const& rContext ) :
BaseNode( xNode, pParent, rContext ),
mbToggled(false),
mpShape(),
mxCommandNode( xNode, css::uno::UNO_QUERY_THROW )
{
......@@ -80,12 +81,13 @@ void AnimationCommandNode::activate_st()
// the command toggles the pause status on a media object
case EffectCommands::TOGGLEPAUSE:
{
if( mpShape )
if (mpShape)
{
if( mpShape->isPlaying() )
mpShape->pause();
else
mpShape->play();
mbToggled = true;
}
break;
}
......@@ -109,6 +111,26 @@ void AnimationCommandNode::activate_st()
"AnimationCommandNode::deactivate" ) );
}
void AnimationCommandNode::deactivate_st( NodeState /*eDestState*/ )
{
switch( mxCommandNode->getCommand() ) {
// the command toggles the pause status on a media object
case EffectCommands::TOGGLEPAUSE:
{
if (mpShape && mbToggled)
{
if( mpShape->isPlaying() )
mpShape->pause();
else
mpShape->play();
mbToggled = false;
}
break;
}
}
}
bool AnimationCommandNode::hasPendingAnimation() const
{
return mxCommandNode->getCommand() == EffectCommands::STOPAUDIO || mpShape;
......
......@@ -46,9 +46,11 @@ protected:
private:
virtual void activate_st() override;
virtual void deactivate_st( NodeState eDestState ) override;
virtual bool hasPendingAnimation() const override;
private:
bool mbToggled;
IExternalMediaShapeBaseSharedPtr mpShape;
css::uno::Reference<css::animations::XCommand > mxCommandNode;
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment