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 @@ -918,13 +918,22 @@ void SAL_CALL PresenterController::keyReleased (const awt::KeyEvent& rEvent)
45 case awt::Key::PAGEUP:
46 + if (mxSlideShowController.is())
48 + if (rEvent.Modifiers == awt::KeyModifier::MOD2)
49 + mxSlideShowController->gotoPreviousSlide();
51 + mxSlideShowController->gotoPreviousEffect();
58 case awt::Key::BACKSPACE:
59 if (mxSlideShowController.is())
61 - mxSlideShowController->gotoPreviousSlide();
62 + mxSlideShowController->gotoPreviousEffect();
66 diff --git sdext/source/presenter/PresenterCurrentSlideObserver.cxx sdext/source/presenter/PresenterCurrentSlideObserver.cxx
67 index 8f587c5..87abc55 100644
68 --- sdext/source/presenter/PresenterCurrentSlideObserver.cxx
69 +++ sdext/source/presenter/PresenterCurrentSlideObserver.cxx
70 @@ -109,13 +109,13 @@ void SAL_CALL PresenterCurrentSlideObserver::resumed (void)
74 -void SAL_CALL PresenterCurrentSlideObserver::slideEnded (void)
75 +void SAL_CALL PresenterCurrentSlideObserver::slideEnded (sal_Bool bReverse)
76 throw (css::uno::RuntimeException)
78 // Determine whether the new current slide (the one after the one that
79 // just ended) is the slide past the last slide in the presentation,
80 // i.e. the one that says something like "click to end presentation...".
81 - if (mxSlideShowController.is())
82 + if (mxSlideShowController.is() && !bReverse)
83 if (mxSlideShowController->getNextSlideIndex() < 0)
84 if( mpPresenterController.is() )
85 mpPresenterController->UpdateCurrentSlide(+1);
86 diff --git sdext/source/presenter/PresenterCurrentSlideObserver.hxx sdext/source/presenter/PresenterCurrentSlideObserver.hxx
87 index 8775c50..8608b52 100644
88 --- sdext/source/presenter/PresenterCurrentSlideObserver.hxx
89 +++ sdext/source/presenter/PresenterCurrentSlideObserver.hxx
90 @@ -76,7 +76,7 @@ public:
91 virtual void SAL_CALL slideTransitionStarted( ) throw (::com::sun::star::uno::RuntimeException);
92 virtual void SAL_CALL slideTransitionEnded( ) throw (::com::sun::star::uno::RuntimeException);
93 virtual void SAL_CALL slideAnimationsEnded( ) throw (::com::sun::star::uno::RuntimeException);
94 - virtual void SAL_CALL slideEnded( ) throw (::com::sun::star::uno::RuntimeException);
95 + virtual void SAL_CALL slideEnded(sal_Bool bReverse) throw (::com::sun::star::uno::RuntimeException);
96 virtual void SAL_CALL hyperLinkClicked( const ::rtl::OUString& hyperLink ) throw (::com::sun::star::uno::RuntimeException);
99 diff --git sdext/source/presenter/description.xml sdext/source/presenter/description.xml
100 index c00b8f0..35e2acc 100644
101 --- sdext/source/presenter/description.xml
102 +++ sdext/source/presenter/description.xml
104 <identifier value="com.sun.PresenterScreen-UPDATED_PLATFORM" />
107 - <OpenOffice.org-minimal-version value="3.0" dep:name="OpenOffice.org 3.0"/>
108 + <OpenOffice.org-minimal-version value="3.1" dep:name="OpenOffice.org 3.2"/>
111 - <version value="1.0.2" />
112 + <version value="1.1.0" />
114 <platform value="UPDATED_PLATFORM" />