vcl/source/window/menubarwindow.cxx | 9 +++++++++ vcl/source/window/menubarwindow.hxx | 1 + vcl/source/window/taskpanelist.cxx | 10 +++------- 3 files changed, 13 insertions(+), 7 deletions(-)
New commits: commit b04664511e297b796c8882d05a4fac91924169d3 Author: Caolán McNamara <caol...@redhat.com> Date: Tue May 10 14:46:28 2016 +0100 separate this piece of goo out into a standalone thing no logic change Change-Id: Ib03a2516c9b3cf6bedf52760d8f7cb68cc70464f diff --git a/vcl/source/window/menubarwindow.cxx b/vcl/source/window/menubarwindow.cxx index 8f496ea..4b72e0b 100644 --- a/vcl/source/window/menubarwindow.cxx +++ b/vcl/source/window/menubarwindow.cxx @@ -1178,4 +1178,13 @@ bool MenuBarWindow::HandleMenuButtonEvent( sal_uInt16 i_nButtonId ) return false; } +bool MenuBarWindow::CanGetFocus() const +{ + /* #i83908# do not use the menubar if it is native and invisible + this relies on MenuBar::ImplCreate setting the height of the menubar + to 0 in this case + */ + return GetSizePixel().Height() > 0; +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/source/window/menubarwindow.hxx b/vcl/source/window/menubarwindow.hxx index 8565eb0..57127b1 100644 --- a/vcl/source/window/menubarwindow.hxx +++ b/vcl/source/window/menubarwindow.hxx @@ -148,6 +148,7 @@ public: bool GetMBWHideAccel() const { return mbHideAccel; } void SetMBWMenuKey(bool val) { mbMenuKey = val; } bool GetMBWMenuKey() const { return mbMenuKey; } + bool CanGetFocus() const; }; #endif // INCLUDED_VCL_SOURCE_WINDOW_MENUBARWINDOW_HXX diff --git a/vcl/source/window/taskpanelist.cxx b/vcl/source/window/taskpanelist.cxx index 238f8fa..3b9a3d9 100644 --- a/vcl/source/window/taskpanelist.cxx +++ b/vcl/source/window/taskpanelist.cxx @@ -23,6 +23,7 @@ #include <vcl/taskpanelist.hxx> #include <svdata.hxx> +#include "menubarwindow.hxx" #include <functional> #include <algorithm> @@ -161,9 +162,7 @@ bool TaskPaneList::HandleKeyEvent(const KeyEvent& rKeyEvent) bool bForward = !aKeyCode.IsShift(); if( aKeyCode.GetCode() == KEY_F6 && ! aKeyCode.IsMod2() ) // F6 { - bool bSplitterOnly; - - bSplitterOnly = aKeyCode.IsMod1() && aKeyCode.IsShift(); + bool bSplitterOnly = aKeyCode.IsMod1() && aKeyCode.IsShift(); // is the focus in the list ? auto p = mTaskPanes.begin(); @@ -280,12 +279,9 @@ vcl::Window* TaskPaneList::FindNextFloat( vcl::Window *pWindow, bool bForward ) if( p == mTaskPanes.end() ) break; // do not wrap, send focus back to document at end of list /* #i83908# do not use the menubar if it is native and invisible - this relies on MenuBar::ImplCreate setting the height of the menubar - to 0 in this case */ if( (*p)->IsReallyVisible() && !(*p)->ImplIsSplitter() && - ( (*p)->GetType() != WINDOW_MENUBARWINDOW || (*p)->GetSizePixel().Height() > 0 ) - ) + ( (*p)->GetType() != WINDOW_MENUBARWINDOW || static_cast<MenuBarWindow*>(p->get())->CanGetFocus() ) ) { pWindow = *p; break;
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits