summaryrefslogtreecommitdiff
path: root/sd/source/ui/slideshow/slideshow.cxx
diff options
context:
space:
mode:
authorSteve Yin <steve_y@apache.org>2013-11-28 12:09:19 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-11-28 13:32:30 +0000
commitcc5518ca61b209408a9d5262bbdcc39efccdd72d (patch)
tree23f4be456f58a52ad53a3aaab82894b91a4f797d /sd/source/ui/slideshow/slideshow.cxx
parent0a05120e1a08c29b3495878d2a3b5fb30d344c6c (diff)
Integrate branch of IAccessible2
Change-Id: Ibf3be46e8619c2dce9636e8a90a6703f3e28ba33
Diffstat (limited to 'sd/source/ui/slideshow/slideshow.cxx')
-rw-r--r--sd/source/ui/slideshow/slideshow.cxx11
1 files changed, 11 insertions, 0 deletions
diff --git a/sd/source/ui/slideshow/slideshow.cxx b/sd/source/ui/slideshow/slideshow.cxx
index b71cad6ab113..537711410b6f 100644
--- a/sd/source/ui/slideshow/slideshow.cxx
+++ b/sd/source/ui/slideshow/slideshow.cxx
@@ -811,6 +811,10 @@ void SAL_CALL SlideShow::end() throw(RuntimeException)
}
}
}
+ //Fire the acc focus event when focus is switched back. The above method mpCurrentViewShellBase->GetWindow()->GrabFocus() will
+ //set focus to WorkWindow instead of the sd::window, so here call Shell's method to fire the focus event
+ if (pViewShell)
+ pViewShell->SwitchActiveViewFireFocus();
}
mpCurrentViewShellBase = 0;
}
@@ -1038,6 +1042,8 @@ void SlideShow::activate( ViewShellBase& rBase )
if( mxController->startShow(mxCurrentSettings.get()) )
{
pShell->Resize();
+ // Defer the sd::ShowWindow's GrabFocus to here. so that the accessible event can be fired correctly.
+ pShell->GetActiveWindow()->GrabFocus();
}
else
{
@@ -1213,6 +1219,11 @@ void SlideShow::StartInPlacePresentation()
if( !bSuccess )
end();
+ else
+ {
+ if(mpCurrentViewShellBase)
+ mpCurrentViewShellBase->GetWindow()->GrabFocus();
+ }
}
}