Kaydet (Commit) 03b7f55a authored tarafından Jan Holesovsky's avatar Jan Holesovsky

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 51c14b1c)

Conflicts:
	sfx2/source/dialog/backingwindow.hxx

Change-Id: Id050fd8f5fff38914821cb64eaa3ae7281fc6d50
üst 4815a27f
......@@ -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()
......
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment