1 Updated slideshow effect rewind feature from CWS slideshow1
3 From: Thorsten Behrens <thb@openoffice.org>
8 offapi/com/sun/star/presentation/XSlideShow.idl | 37 ++
9 .../sun/star/presentation/XSlideShowController.idl | 8
10 .../sun/star/presentation/XSlideShowListener.idl | 6
11 sd/source/ui/slideshow/slideshowimpl.cxx | 120 +++++-
12 sd/source/ui/slideshow/slideshowimpl.hxx | 8
13 sdext/source/presenter/PresenterController.cxx | 11 -
14 .../presenter/PresenterCurrentSlideObserver.cxx | 4
15 .../presenter/PresenterCurrentSlideObserver.hxx | 2
16 sdext/source/presenter/description.xml | 4
17 .../source/engine/animationnodes/basenode.hxx | 6
18 .../animationnodes/sequentialtimecontainer.cxx | 6
19 slideshow/source/engine/effectrewinder.cxx | 432 ++++++++++++++++++++
20 slideshow/source/engine/effectrewinder.hxx | 185 +++++++++
21 slideshow/source/engine/eventmultiplexer.cxx | 10
22 slideshow/source/engine/eventqueue.cxx | 47 ++
23 slideshow/source/engine/makefile.mk | 1
24 slideshow/source/engine/screenupdater.cxx | 83 ++++
25 slideshow/source/engine/shapes/drawshape.cxx | 6
26 slideshow/source/engine/slide/layermanager.cxx | 105 ++---
27 slideshow/source/engine/slide/layermanager.hxx | 35 --
28 slideshow/source/engine/slideshowimpl.cxx | 270 ++++++++++---
29 slideshow/source/engine/usereventqueue.cxx | 54 ++-
30 slideshow/source/inc/eventqueue.hxx | 8
31 slideshow/source/inc/screenupdater.hxx | 21 +
32 slideshow/source/inc/usereventqueue.hxx | 18 +
33 25 files changed, 1303 insertions(+), 184 deletions(-)
34 create mode 100644 slideshow/source/engine/effectrewinder.cxx
35 create mode 100644 slideshow/source/engine/effectrewinder.hxx
38 diff --git sdext/source/presenter/PresenterController.cxx sdext/source/presenter/PresenterController.cxx
39 index 9c54364..975b116 100644
40 --- sdext/source/presenter/PresenterController.cxx
41 +++ sdext/source/presenter/PresenterController.cxx
42 @@ -1002,14 +1002,23 @@ void SAL_CALL PresenterController::keyReleased (const awt::KeyEvent& rEvent)
46 - case awt::Key::LEFT:
47 case awt::Key::PAGEUP:
48 + if (mxSlideShowController.is())
50 + if (rEvent.Modifiers == awt::KeyModifier::MOD2)
51 + mxSlideShowController->gotoPreviousSlide();
53 + mxSlideShowController->gotoPreviousEffect();
57 + case awt::Key::LEFT:
60 case awt::Key::BACKSPACE:
61 if (mxSlideShowController.is())
63 - mxSlideShowController->gotoPreviousSlide();
64 + mxSlideShowController->gotoPreviousEffect();
68 diff --git sdext/source/presenter/PresenterCurrentSlideObserver.cxx sdext/source/presenter/PresenterCurrentSlideObserver.cxx
69 index 8f587c5..87abc55 100644
70 --- sdext/source/presenter/PresenterCurrentSlideObserver.cxx
71 +++ sdext/source/presenter/PresenterCurrentSlideObserver.cxx
72 @@ -109,13 +109,13 @@ void SAL_CALL PresenterCurrentSlideObserver::resumed (void)
76 -void SAL_CALL PresenterCurrentSlideObserver::slideEnded (void)
77 +void SAL_CALL PresenterCurrentSlideObserver::slideEnded (sal_Bool bReverse)
78 throw (css::uno::RuntimeException)
80 // Determine whether the new current slide (the one after the one that
81 // just ended) is the slide past the last slide in the presentation,
82 // i.e. the one that says something like "click to end presentation...".
83 - if (mxSlideShowController.is())
84 + if (mxSlideShowController.is() && !bReverse)
85 if (mxSlideShowController->getNextSlideIndex() < 0)
86 if( mpPresenterController.is() )
87 mpPresenterController->UpdateCurrentSlide(+1);
88 diff --git sdext/source/presenter/PresenterCurrentSlideObserver.hxx sdext/source/presenter/PresenterCurrentSlideObserver.hxx
89 index 8775c50..8608b52 100644
90 --- sdext/source/presenter/PresenterCurrentSlideObserver.hxx
91 +++ sdext/source/presenter/PresenterCurrentSlideObserver.hxx
92 @@ -76,7 +76,7 @@ public:
93 virtual void SAL_CALL slideTransitionStarted( ) throw (::com::sun::star::uno::RuntimeException);
94 virtual void SAL_CALL slideTransitionEnded( ) throw (::com::sun::star::uno::RuntimeException);
95 virtual void SAL_CALL slideAnimationsEnded( ) throw (::com::sun::star::uno::RuntimeException);
96 - virtual void SAL_CALL slideEnded( ) throw (::com::sun::star::uno::RuntimeException);
97 + virtual void SAL_CALL slideEnded(sal_Bool bReverse) throw (::com::sun::star::uno::RuntimeException);
98 virtual void SAL_CALL hyperLinkClicked( const ::rtl::OUString& hyperLink ) throw (::com::sun::star::uno::RuntimeException);
100 // XAnimationListener
101 diff --git sdext/source/presenter/description.xml sdext/source/presenter/description.xml
102 index c00b8f0..35e2acc 100644
103 --- sdext/source/presenter/description.xml
104 +++ sdext/source/presenter/description.xml
106 <identifier value="com.sun.PresenterScreen-UPDATED_PLATFORM" />
109 - <OpenOffice.org-minimal-version value="3.0" dep:name="OpenOffice.org 3.0"/>
110 + <OpenOffice.org-minimal-version value="3.1" dep:name="OpenOffice.org 3.2"/>
113 - <version value="1.0.2" />
114 + <version value="1.1.0" />
116 <platform value="UPDATED_PLATFORM" />