sfx2/source/dialog/backingwindow.cxx | 17 +++++------------ sfx2/source/dialog/backingwindow.hxx | 1 - 2 files changed, 5 insertions(+), 13 deletions(-)
New commits: commit 51c14b1c262bced0cb61c943caad044be9e95c15 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. Change-Id: Id050fd8f5fff38914821cb64eaa3ae7281fc6d50 diff --git a/sfx2/source/dialog/backingwindow.cxx b/sfx2/source/dialog/backingwindow.cxx index c487880..54ac9a6 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 f7d1d12..e31dacc 100644 --- a/sfx2/source/dialog/backingwindow.hxx +++ b/sfx2/source/dialog/backingwindow.hxx @@ -123,7 +123,6 @@ public: virtual void Paint(vcl::RenderContext& rRenderContext, const Rectangle& rRect) override; virtual void Resize() override; virtual bool PreNotify(NotifyEvent& rNEvt) override; - virtual bool Notify(NotifyEvent& rNEvt) override; virtual void GetFocus() override; virtual Size GetOptimalSize() const override; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits