INTEGRATION: CWS transogl01 (1.5.6); FILE MERGED

2007/10/10 21:03:44 thb 1.5.6.2: #i82460# Did some minor cleanup work: the graphic subsystem the optional transition framework is using is now fully encapsulated - there's only a generic factory; changed Ids of transition used - now something totally unused before; every optional transition component can transparently override arbitrary Id combinations now
2007/10/10 12:02:30 thb 1.5.6.1: #i10000# WaE fixes; making verbose=t build work again
This commit is contained in:
Rüdiger Timm 2007-11-09 09:16:38 +00:00
parent c0d77884b7
commit 98180b5037

View file

@ -4,9 +4,9 @@
*
* $RCSfile: slideshowimpl.cxx,v $
*
* $Revision: 1.5 $
* $Revision: 1.6 $
*
* last change: $Author: kz $ $Date: 2007-09-05 17:40:47 $
* last change: $Author: rt $ $Date: 2007-11-09 10:16:38 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@ -44,7 +44,9 @@
#include <cppuhelper/implementationentry.hxx>
#include <cppuhelper/compbase2.hxx>
#include <cppuhelper/interfacecontainer.h>
#include <cppuhelper/exc_hlp.hxx>
#include <comphelper/anytostring.hxx>
#include <comphelper/make_shared_from_uno.hxx>
#include <comphelper/scopeguard.hxx>
#include <comphelper/optional.hxx>
@ -346,6 +348,8 @@ private:
SoundPlayerSharedPtr mpCurrentSlideTransitionSound;
uno::Reference<uno::XComponentContext> mxComponentContext;
uno::Reference<
presentation::XTransitionFactory> mxOptionalTransitionFactory;
/// the previously running slide
SlideSharedPtr mpPreviousSlide;
@ -447,6 +451,7 @@ SlideShowImpl::SlideShowImpl(
mpWaitSymbol(),
mpCurrentSlideTransitionSound(),
mxComponentContext( xContext ),
mxOptionalTransitionFactory(),
mpCurrentSlide(),
mpPrefetchSlide(),
mxPrefetchSlide(),
@ -465,6 +470,19 @@ SlideShowImpl::SlideShowImpl(
// keep care not constructing any UNO references to this inside ctor,
// shift that code to create()!
uno::Reference<lang::XMultiComponentFactory> xFactory(
mxComponentContext->getServiceManager() );
if( xFactory.is() )
{
// #i82460# try to retrieve special transition factory
mxOptionalTransitionFactory.set(
xFactory->createInstanceWithContext(
::rtl::OUString::createFromAscii( "com.sun.star.presentation.TransitionFactory" ),
mxComponentContext ),
uno::UNO_QUERY );
}
mpListener.reset( new SeparateListenerImpl(
*this,
maScreenUpdater,
@ -655,6 +673,7 @@ ActivitySharedPtr SlideShowImpl::createSlideTransition(
maViewContainer,
maScreenUpdater,
maEventMultiplexer,
mxOptionalTransitionFactory,
nTransitionType,
nTransitionSubType,
bTransitionDirection,