From dd46727b99d4bb5135451aa7e5e1bdb197373843 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Tue, 5 Apr 2016 15:27:38 +0100 Subject: Resolves; tdf#87120 no keyboard navigation inside floating windows lets try and treat these the same as we do normal toplevels like dialogs if they popup with GrabFocus. This way focus can be set on widgets inside the floating windows, and so keyboard traversal of widgets etc all works. Change-Id: If447429756cf5d136b9c2e2f62fafb37c167b1ce --- sc/source/ui/cctrl/checklistmenu.cxx | 5 ----- sc/source/ui/inc/checklistmenu.hxx | 1 - sc/source/ui/view/gridwin.cxx | 8 -------- 3 files changed, 14 deletions(-) (limited to 'sc') diff --git a/sc/source/ui/cctrl/checklistmenu.cxx b/sc/source/ui/cctrl/checklistmenu.cxx index be5f3563dfd3..fa943fc85ddb 100644 --- a/sc/source/ui/cctrl/checklistmenu.cxx +++ b/sc/source/ui/cctrl/checklistmenu.cxx @@ -1327,11 +1327,6 @@ void ScCheckListMenuWindow::Paint(vcl::RenderContext& rRenderContext, const Rect rRenderContext.DrawRect(Rectangle(aPos,aSize)); } -vcl::Window* ScCheckListMenuWindow::GetPreferredKeyInputWindow() -{ - return maTabStops.GetCurrentControl(); -} - Reference ScCheckListMenuWindow::CreateAccessible() { if (!mxAccessible.is()) diff --git a/sc/source/ui/inc/checklistmenu.hxx b/sc/source/ui/inc/checklistmenu.hxx index fa104edef031..8824acb17534 100644 --- a/sc/source/ui/inc/checklistmenu.hxx +++ b/sc/source/ui/inc/checklistmenu.hxx @@ -299,7 +299,6 @@ public: virtual void MouseMove(const MouseEvent& rMEvt) override; virtual bool Notify(NotifyEvent& rNEvt) override; virtual void Paint(vcl::RenderContext& rRenderContext, const Rectangle& rRect) override; - virtual vcl::Window* GetPreferredKeyInputWindow() override; virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible() override; void setMemberSize(size_t n); diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index 33de00a7a216..1a8ed514f6ec 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -347,8 +347,6 @@ public: ScFilterFloatingWindow( vcl::Window* pParent, WinBits nStyle = WB_STDFLOATWIN ); virtual ~ScFilterFloatingWindow(); virtual void dispose() override; - // required for System FloatingWindows that will not process KeyInput by themselves - virtual vcl::Window* GetPreferredKeyInputWindow() override; }; ScFilterFloatingWindow::ScFilterFloatingWindow( vcl::Window* pParent, WinBits nStyle ) : @@ -366,12 +364,6 @@ void ScFilterFloatingWindow::dispose() FloatingWindow::dispose(); } -vcl::Window* ScFilterFloatingWindow::GetPreferredKeyInputWindow() -{ - // redirect keyinput in the child window - return GetWindow(GetWindowType::FirstChild) ? GetWindow(GetWindowType::FirstChild)->GetPreferredKeyInputWindow() : nullptr; // will be the FilterBox -} - static bool lcl_IsEditableMatrix( ScDocument* pDoc, const ScRange& rRange ) { // If it is a editable range and if there is a Matrix cell at the bottom right with an -- cgit