diff options
author | Caolán McNamara <caolan.mcnamara@collabora.com> | 2023-07-26 09:29:18 +0100 |
---|---|---|
committer | Adolfo Jayme Barrientos <fitojb@ubuntu.com> | 2023-08-04 09:17:31 +0200 |
commit | a0b0215f5adc68b02c86a7dac2c0f49a0f53f28c (patch) | |
tree | 31cf421df51db0f0da39da91a36ea67ef331855d | |
parent | cd85126bb6b520abb2f40221fd6097dc2ddad672 (diff) |
Resolves: tdf#155716 grab focus when context menu is activated
Change-Id: I194aba413d5adf07c8d78823f2f9a086f95cf248
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154924
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
-rw-r--r-- | sc/source/ui/app/inputwin.cxx | 8 | ||||
-rw-r--r-- | sc/source/ui/inc/inputwin.hxx | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx index 7f33e397fc95..5ac3944df08e 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 f0f69e948843..823c9e177ed8 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; |