sc/source/ui/app/inputwin.cxx | 8 +++++++- sc/source/ui/inc/inputwin.hxx | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-)
New commits: commit a581b38fad795490a5af6eb04da8e4848248e7e6 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Wed Jul 26 09:29:18 2023 +0100 Commit: Adolfo Jayme Barrientos <fit...@ubuntu.com> CommitDate: Fri Aug 4 09:17:13 2023 +0200 Resolves: tdf#155716 grab focus when context menu is activated Change-Id: I194aba413d5adf07c8d78823f2f9a086f95cf248 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154923 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com> diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx index a85baa1ccca4..2fdd83fdbd37 100644 --- a/sc/source/ui/app/inputwin.cxx +++ b/sc/source/ui/app/inputwin.cxx @@ -1648,7 +1648,7 @@ bool ScTextWnd::CanFocus() const return SC_MOD()->IsEditMode(); } -bool ScTextWnd::MouseButtonDown( const MouseEvent& rMEvt ) +void ScTextWnd::UpdateFocus() { if (!HasFocus()) { @@ -1656,6 +1656,11 @@ bool ScTextWnd::MouseButtonDown( const MouseEvent& rMEvt ) if (CanFocus()) TextGrabFocus(); } +} + +bool ScTextWnd::MouseButtonDown( const MouseEvent& rMEvt ) +{ + UpdateFocus(); bool bClickOnSelection = false; if (m_xEditView) @@ -1771,6 +1776,7 @@ bool ScTextWnd::Command( const CommandEvent& rCEvt ) } if (IsMouseCaptured()) ReleaseMouse(); + UpdateFocus(); pViewFrm->GetDispatcher()->ExecutePopup("formulabar", &mrGroupBar.GetVclParent(), &aPos); } } diff --git a/sc/source/ui/inc/inputwin.hxx b/sc/source/ui/inc/inputwin.hxx index 500ab23eb790..7d058af9da0a 100644 --- a/sc/source/ui/inc/inputwin.hxx +++ b/sc/source/ui/inc/inputwin.hxx @@ -135,6 +135,8 @@ private: void InitEditEngine(); + void UpdateFocus(); + rtl::Reference<svt::OStringTransferable> m_xHelper; typedef ::std::vector< ScAccessibleEditLineTextData* > AccTextDataVector;