summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolan.mcnamara@collabora.com>2023-07-26 09:29:18 +0100
committerAdolfo Jayme Barrientos <fitojb@ubuntu.com>2023-08-04 09:17:31 +0200
commita0b0215f5adc68b02c86a7dac2c0f49a0f53f28c (patch)
tree31cf421df51db0f0da39da91a36ea67ef331855d
parentcd85126bb6b520abb2f40221fd6097dc2ddad672 (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.cxx8
-rw-r--r--sc/source/ui/inc/inputwin.hxx2
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;