/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include #include #include #include #include #include "Listener.hxx" #include "ImagePreparer.hxx" using namespace sd; using namespace ::com::sun::star::presentation; using namespace ::com::sun::star::frame; Listener::Listener( const ::rtl::Reference& rCommunicator, sd::Transmitter *aTransmitter ): ::cppu::WeakComponentImplHelper< XSlideShowListener >( m_aMutex ), mCommunicator( rCommunicator ), pTransmitter( nullptr ) { pTransmitter = aTransmitter; } Listener::~Listener() { } void Listener::init( const css::uno::Reference< css::presentation::XSlideShowController >& aController) { if ( aController.is() ) { mController.set( aController ); aController->addSlideShowListener( this ); sal_Int32 aSlides = aController->getSlideCount(); sal_Int32 aCurrentSlide = aController->getCurrentSlideIndex(); OStringBuffer aBuffer; aBuffer.append( "slideshow_started\n" ) .append( OString::number( aSlides ) ).append("\n") .append( OString::number( aCurrentSlide ) ).append( "\n\n" ); pTransmitter->addMessage( aBuffer.makeStringAndClear(), Transmitter::PRIORITY_HIGH ); { SolarMutexGuard aGuard; /* ImagePreparer* pPreparer = */ new ImagePreparer( aController, pTransmitter ); } } else { SAL_INFO( "sdremote", "Listener::init but no controller - so no preview push queued" ); } } //----- XAnimationListener ---------------------------------------------------- void SAL_CALL Listener::beginEvent(const css::uno::Reference< css::animations::XAnimationNode >& rNode ) { (void) rNode; } void SAL_CALL Listener::endEvent( const css::uno::Reference< css::animations::XAnimationNode >& rNode ) { (void) rNode; } void SAL_CALL Listener::repeat( const css::uno::Reference< css::animations::XAnimationNode >& rNode, ::sal_Int32 aRepeat ) { (void) rNode; (void) aRepeat; } //----- XSlideShowListener ---------------------------------------------------- void SAL_CALL Listener::paused() { } void SAL_CALL Listener::resumed() { } void SAL_CALL Listener::slideEnded (sal_Bool bReverse) { (void) bReverse; } void SAL_CALL Listener::hyperLinkClicked (const OUString &) { } void SAL_CALL Listener::slideTransitionStarted() { sal_Int32 aSlide = mController->getCurrentSlideIndex(); OStringBuffer aBuilder( "slide_updated\n" ); aBuilder.append( OString::number( aSlide ) ); aBuilder.append( "\n\n" ); if ( pTransmitter ) { pTransmitter->addMessage( aBuilder.makeStringAndClear(), Transmitter::PRIORITY_HIGH ); } } void SAL_CALL Listener::slideTransitionEnded() { } void SAL_CALL Listener::slideAnimationsEnded() { } void SAL_CALL Listener::disposing() { pTransmitter = nullptr; if ( mController.is() ) { mController->removeSlideShowListener( this ); mController = nullptr; } mCommunicator->informListenerDestroyed(); } void SAL_CALL Listener::disposing ( const css::lang::EventObject& rEvent) { (void) rEvent; dispose(); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ n> LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2018-07-28uitest: support parameters when sending UNO commandsSaurav Chirania
2018-01-08uitest: add a shared helper method for selecting textMarkus Mohrhard
2018-01-08uitest: add demo showing how to select text in EditMarkus Mohrhard
2017-02-18use special method to close dialog through button clickMarkus Mohrhard
2017-02-18uitest: use the correct method to close a dialog through a buttonMarkus Mohrhard
2016-12-24uitest: write a helper method for selecting based on positionMarkus Mohrhard
2016-12-24uitest: add a helper method for typing textMarkus Mohrhard
2016-10-26normalize existing emacs/vim mode-lines in python filesMichael Stahl
2016-10-11pathlib is only in python 3.4+Markus Mohrhard
2016-09-29add missing test filesMarkus Mohrhard
2016-07-17uitest: add demo showing how to select active frameMarkus Mohrhard
2016-07-17uitest: don't hard code my path in testMarkus Mohrhard
2016-07-17uitest: add demo for handling two filesMarkus Mohrhard
2016-07-13uitest: all files moved to the new directory layoutMarkus Mohrhard
2016-07-13uitest: move more parts to the new directory structureMarkus Mohrhard
2016-07-13uitest: remove the imports for pyuno and timeMarkus Mohrhard
2016-07-13uitest: move more code into the new directory layoutMarkus Mohrhard
2016-06-26uitest: add a way to have sleeps in some test runsMarkus Mohrhard
2016-06-26uitest: move for files into the new directory layoutMarkus Mohrhard
2016-06-26uitest: bring some order into the file messMarkus Mohrhard
2016-06-25uitest: add special char widget demoMarkus Mohrhard
2016-06-22uitest: remove sleeps from demo ui partsMarkus Mohrhard
2016-06-22uitest: move the demo ui tests to the new unittest approachMarkus Mohrhard
2016-06-22uitest: add treelist demoMarkus Mohrhard
2016-06-22uitest: add tabcontrol demoMarkus Mohrhard
2016-06-20uitest: add demo for spinfieldMarkus Mohrhard
2016-06-18uitest: add the radiobutton demoMarkus Mohrhard
2016-06-18uitest: close all the documents in the testsMarkus Mohrhard
2016-06-18uitest: add the ui demo testsMarkus Mohrhard
2016-06-18uitest: move code from calc_demo to normal demo for gridwinMarkus Mohrhard
2016-06-18uitest: add close_doc to the demosMarkus Mohrhard
2016-06-18uitest: add demo for tabdialog handlingMarkus Mohrhard
2016-06-18uitest: move uitest python part from dev-toolsMarkus Mohrhard