sd/source/ui/animations/SlideTransitionPane.cxx | 16 ++++++++++++++-- sd/source/ui/animations/SlideTransitionPane.hxx | 1 + 2 files changed, 15 insertions(+), 2 deletions(-)
New commits: commit 85557c1c7fd672ab2156d92c6e164f55f5650ea3 Author: Andrzej J.R. Hunt <andr...@ahunt.org> Date: Sun Sep 8 18:01:26 2013 +0100 Stop transition preview if "No transition" is selected. Currently a transition preview continues playing until it either completes, a different transition is selected (in which case the new preview starts) or the user clicks on the preview. However when "No transition" is selected whilst a preview is still playing then the prveview continues to play. This will also be useful for fdo#36946 which would introduce categories into the list which themselves aren't valid transitions, therefore we would want to stop any previews on progress when selecting a non-transition in the list. Change-Id: I708fcc017a94173c91cb45bef18255f97debfd57 diff --git a/sd/source/ui/animations/SlideTransitionPane.cxx b/sd/source/ui/animations/SlideTransitionPane.cxx index 4175ae5..a89126c 100644 --- a/sd/source/ui/animations/SlideTransitionPane.cxx +++ b/sd/source/ui/animations/SlideTransitionPane.cxx @@ -874,16 +874,20 @@ void SlideTransitionPane::applyToSelectedPages() if( ! mbUpdatingControls ) { ::sd::slidesorter::SharedPageSelection pSelectedPages( getSelectedPages()); + impl::TransitionEffect aEffect = getTransitionEffectFromControls(); if( ! pSelectedPages->empty()) { lcl_CreateUndoForPages( pSelectedPages, mrBase ); - lcl_ApplyToPages( pSelectedPages, getTransitionEffectFromControls() ); + lcl_ApplyToPages( pSelectedPages, aEffect ); mrBase.GetDocShell()->SetModified(); } if( mpCB_AUTO_PREVIEW->IsEnabled() && mpCB_AUTO_PREVIEW->IsChecked()) { - playCurrentEffect(); + if (aEffect.mnType) // mnType = 0 denotes no transition + playCurrentEffect(); + else + stopEffects(); } } } @@ -898,6 +902,14 @@ void SlideTransitionPane::playCurrentEffect() } } +void SlideTransitionPane::stopEffects() +{ + if( mxView.is() ) + { + SlideShow::Stop( mrBase ); + } +} + void SlideTransitionPane::addListener() { Link aLink( LINK(this,SlideTransitionPane,EventMultiplexerListener) ); diff --git a/sd/source/ui/animations/SlideTransitionPane.hxx b/sd/source/ui/animations/SlideTransitionPane.hxx index 6ca28ee..4740f24 100644 --- a/sd/source/ui/animations/SlideTransitionPane.hxx +++ b/sd/source/ui/animations/SlideTransitionPane.hxx @@ -77,6 +77,7 @@ private: void applyToSelectedPages(); void playCurrentEffect(); + void stopEffects(); void addListener(); void removeListener(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits