[Libreoffice-commits] core.git: sfx2/source

Jan Holesovsky kendy at collabora.com
Fri Nov 6 09:39:42 PST 2015


 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 <kendy at 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;


More information about the Libreoffice-commits mailing list