summaryrefslogtreecommitdiff
path: root/sdext/source/presenter/PresenterSlideShowView.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sdext/source/presenter/PresenterSlideShowView.cxx')
-rw-r--r--sdext/source/presenter/PresenterSlideShowView.cxx21
1 files changed, 20 insertions, 1 deletions
diff --git a/sdext/source/presenter/PresenterSlideShowView.cxx b/sdext/source/presenter/PresenterSlideShowView.cxx
index 518595082683..e0fe026516b8 100644
--- a/sdext/source/presenter/PresenterSlideShowView.cxx
+++ b/sdext/source/presenter/PresenterSlideShowView.cxx
@@ -173,7 +173,17 @@ void PresenterSlideShowView::LateInit (void)
// Add the new slide show view to the slide show.
if (mxSlideShow.is() && ! mbIsViewAdded)
{
- mxSlideShow->addView(this);
+ Reference<presentation::XSlideShowView> xView (this);
+ mxSlideShow->addView(xView);
+ // Prevent embeded sounds being played twice at the same time by
+ // disabling sound for the new slide show view.
+ beans::PropertyValue aProperty;
+ aProperty.Name = A2S("IsSoundEnabled");
+ Sequence<Any> aValues (2);
+ aValues[0] <<= xView;
+ aValues[1] <<= sal_False;
+ aProperty.Value <<= aValues;
+ mxSlideShow->setProperty(aProperty);
mbIsViewAdded = true;
}
@@ -1053,6 +1063,15 @@ void PresenterSlideShowView::Resize (void)
// for the new size.
CreateBackgroundPolygons();
+ // Notify listeners that the transformation that maps the view into the
+ // window has changed.
+ lang::EventObject aEvent (static_cast<XWeak*>(this));
+ ::cppu::OInterfaceContainerHelper* pIterator
+ = maBroadcaster.getContainer(getCppuType((Reference<util::XModifyListener>*)NULL));
+ if (pIterator != NULL)
+ {
+ pIterator->notifyEach(&util::XModifyListener::modified, aEvent);
+ }
// Due to constant aspect ratio resizing may lead a preview that changes
// its position but not its size. This invalidates the back buffer and