summaryrefslogtreecommitdiff
path: root/sd/source/ui/slideshow/slideshow.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/slideshow/slideshow.cxx')
-rw-r--r--sd/source/ui/slideshow/slideshow.cxx23
1 files changed, 17 insertions, 6 deletions
diff --git a/sd/source/ui/slideshow/slideshow.cxx b/sd/source/ui/slideshow/slideshow.cxx
index a17fdea1cd98..464aa4fe76e7 100644
--- a/sd/source/ui/slideshow/slideshow.cxx
+++ b/sd/source/ui/slideshow/slideshow.cxx
@@ -61,6 +61,7 @@
#include "FactoryIds.hxx"
#include "ViewShell.hxx"
#include "SlideShowRestarter.hxx"
+#include "DrawController.hxx"
#include <boost/bind.hpp>
using ::com::sun::star::presentation::XSlideShowController;
@@ -715,7 +716,7 @@ void SAL_CALL SlideShow::end() throw(RuntimeException)
WorkWindow* pWorkWindow = dynamic_cast<WorkWindow*>(pShell->GetViewFrame()->GetTopFrame().GetWindow().GetParent());
if( pWorkWindow )
{
- pWorkWindow->StartPresentationMode( FALSE, isAlwaysOnTop() );
+ pWorkWindow->StartPresentationMode( sal_False, isAlwaysOnTop() );
}
}
}
@@ -754,7 +755,7 @@ void SAL_CALL SlideShow::end() throw(RuntimeException)
framework::FrameworkHelper::GetViewURL(ePreviousType),
framework::FrameworkHelper::msCenterPaneURL);
- pViewShell->GetViewFrame()->GetBindings().InvalidateAll( TRUE );
+ pViewShell->GetViewFrame()->GetBindings().InvalidateAll( sal_True );
}
}
}
@@ -773,7 +774,17 @@ void SAL_CALL SlideShow::end() throw(RuntimeException)
// switch to the previously visible Slide
DrawViewShell* pDrawViewShell = dynamic_cast<DrawViewShell*>( pViewShell );
if( pDrawViewShell )
- pDrawViewShell->SwitchPage( (USHORT)xController->getRestoreSlide() );
+ pDrawViewShell->SwitchPage( (sal_uInt16)xController->getRestoreSlide() );
+ else
+ {
+ Reference<XDrawView> xDrawView (
+ Reference<XWeak>(&mpCurrentViewShellBase->GetDrawController()), UNO_QUERY);
+ if (xDrawView.is())
+ xDrawView->setCurrentPage(
+ Reference<XDrawPage>(
+ mpDoc->GetSdPage(xController->getRestoreSlide(), PK_STANDARD)->getUnoPage(),
+ UNO_QUERY));
+ }
}
if( pViewShell->GetDoc()->IsStartWithPresentation() )
@@ -1198,9 +1209,9 @@ void SlideShow::StartFullscreenPresentation( )
// fullscreen.
const sal_Int32 nDisplay (GetDisplay());
WorkWindow* pWorkWindow = new FullScreenWorkWindow(this, mpCurrentViewShellBase);
- pWorkWindow->StartPresentationMode( TRUE, mpDoc->getPresentationSettings().mbAlwaysOnTop ? PRESENTATION_HIDEALLAPPS : 0, nDisplay);
- // pWorkWindow->ShowFullScreenMode(FALSE, nDisplay);
pWorkWindow->SetBackground(Wallpaper(COL_BLACK));
+ pWorkWindow->StartPresentationMode( sal_True, mpDoc->getPresentationSettings().mbAlwaysOnTop ? PRESENTATION_HIDEALLAPPS : 0, nDisplay);
+ // pWorkWindow->ShowFullScreenMode(sal_False, nDisplay);
if (pWorkWindow->IsVisible())
{
@@ -1218,7 +1229,7 @@ void SlideShow::StartFullscreenPresentation( )
// new view shell--a prerequisite to process slot calls and initialize
// its panes--a GrabFocus() has to be called later on.
SfxFrame* pNewFrame = SfxFrame::Create( *mpDoc->GetDocSh(), *pWorkWindow, PRESENTATION_FACTORY_ID, true );
- pNewFrame->SetPresentationMode(TRUE);
+ pNewFrame->SetPresentationMode(sal_True);
mpFullScreenViewShellBase = static_cast<ViewShellBase*>(pNewFrame->GetCurrentViewFrame()->GetViewShell());
if(mpFullScreenViewShellBase != NULL)