diff options
author | Steve Yin <steve_y@apache.org> | 2013-11-28 12:09:19 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-11-28 13:32:30 +0000 |
commit | cc5518ca61b209408a9d5262bbdcc39efccdd72d (patch) | |
tree | 23f4be456f58a52ad53a3aaab82894b91a4f797d /sd/source/ui/slideshow/slideshow.cxx | |
parent | 0a05120e1a08c29b3495878d2a3b5fb30d344c6c (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.cxx | 11 |
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(); + } } } |