sfx2/source/dialog/backingwindow.cxx | 17 +++++------------ sfx2/source/dialog/backingwindow.hxx | 1 - 2 files changed, 5 insertions(+), 13 deletions(-)
New commits: commit 03b7f55a859f9998d918557f19831a4579eca1db Author: Jan Holesovsky <ke...@collabora.com> Date: Fri Nov 6 08:06:00 2015 +0100 tdf#92866 startcenter: Make the accellerators work again. I still have no idea what is the root cause here (why the accellerators do not work 'automagically') - I suspect it is because we don't have a shell there, and instead only a vcl::Window, or something like that :-) Either way, when we handle the accellerators already in PreNotify(), it works as expected, so let's live with that for the time being. (cherry picked from commit 51c14b1c262bced0cb61c943caad044be9e95c15) Conflicts: sfx2/source/dialog/backingwindow.hxx Change-Id: Id050fd8f5fff38914821cb64eaa3ae7281fc6d50 diff --git a/sfx2/source/dialog/backingwindow.cxx b/sfx2/source/dialog/backingwindow.cxx index dabfeaf..5686c43 100644 --- a/sfx2/source/dialog/backingwindow.cxx +++ b/sfx2/source/dialog/backingwindow.cxx @@ -413,6 +413,7 @@ bool BackingWindow::PreNotify( NotifyEvent& rNEvt ) { const KeyEvent* pEvt = rNEvt.GetKeyEvent(); const vcl::KeyCode& rKeyCode(pEvt->GetKeyCode()); + // Subwindows of BackingWindow: Sidebar and Thumbnail view if( rKeyCode.GetCode() == KEY_F6 ) { @@ -438,28 +439,20 @@ bool BackingWindow::PreNotify( NotifyEvent& rNEvt ) } } } - } - return Window::PreNotify( rNEvt ); -} -bool BackingWindow::Notify( NotifyEvent& rNEvt ) -{ - if( rNEvt.GetType() == MouseNotifyEvent::KEYINPUT ) - { // try the 'normal' accelerators (so that eg. Ctrl+Q works) - if( !mpAccExec ) + if (!mpAccExec) { mpAccExec = svt::AcceleratorExecute::createAcceleratorHelper(); mpAccExec->init( comphelper::getProcessComponentContext(), mxFrame); } - const KeyEvent* pEvt = rNEvt.GetKeyEvent(); - const vcl::KeyCode& rKeyCode(pEvt->GetKeyCode()); + const OUString aCommand = mpAccExec->findCommand(svt::AcceleratorExecute::st_VCLKey2AWTKey(rKeyCode)); - if((aCommand != "vnd.sun.star.findbar:FocusToFindbar") && pEvt && mpAccExec->execute(rKeyCode)) + if ((aCommand != "vnd.sun.star.findbar:FocusToFindbar") && pEvt && mpAccExec->execute(rKeyCode)) return true; } - return Window::Notify( rNEvt ); + return Window::PreNotify( rNEvt ); } void BackingWindow::GetFocus() diff --git a/sfx2/source/dialog/backingwindow.hxx b/sfx2/source/dialog/backingwindow.hxx index 1adc6e1..8dfa84f 100644 --- a/sfx2/source/dialog/backingwindow.hxx +++ b/sfx2/source/dialog/backingwindow.hxx @@ -125,7 +125,6 @@ public: virtual void Paint(vcl::RenderContext& rRenderContext, const Rectangle& rRect) SAL_OVERRIDE; virtual void Resize() SAL_OVERRIDE; virtual bool PreNotify(NotifyEvent& rNEvt) SAL_OVERRIDE; - virtual bool Notify(NotifyEvent& rNEvt) SAL_OVERRIDE; virtual void GetFocus() SAL_OVERRIDE; virtual Size GetOptimalSize() const SAL_OVERRIDE; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits