summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2015-11-06 08:06:00 +0100
committerJan Holesovsky <kendy@collabora.com>2015-11-06 18:38:31 +0100
commit51c14b1c262bced0cb61c943caad044be9e95c15 (patch)
tree07895eee92ee32fa1ec031701d3b45f9b3da3c02
parent064fb1f73abbc103226a8fce8a46b7e8b8347dac (diff)
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
-rw-r--r--sfx2/source/dialog/backingwindow.cxx17
-rw-r--r--sfx2/source/dialog/backingwindow.hxx1
2 files changed, 5 insertions, 13 deletions
diff --git a/sfx2/source/dialog/backingwindow.cxx b/sfx2/source/dialog/backingwindow.cxx
index c487880e15c0..54ac9a64dfc1 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 f7d1d12cbe53..e31daccfc7ab 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;