summaryrefslogtreecommitdiff
path: root/include/formula
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-02-18 14:56:01 +0000
committerCaolán McNamara <caolanm@redhat.com>2021-02-18 21:04:32 +0100
commitc56e0c791a79dc414108e1b2fbf0f7eb38657f10 (patch)
tree902ac8d87e5e8021353720467dbe379fbc46f546 /include/formula
parent28557f54caf924240e6d698a9d2f1e2bc1cf3ab4 (diff)
move async focus-in/focus-out workaround to known client that needs it
and for the normal case process immediately. Use-case is the bibliography editor, modified uncommitted entry, click in browser column margin area to select a new row, the entry should commit its old contents to the old row before filling from the new row Change-Id: Ib41d96afcfa86bcd1075b9512d4cfab593afa66d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111152 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'include/formula')
-rw-r--r--include/formula/funcutl.hxx13
1 files changed, 11 insertions, 2 deletions
diff --git a/include/formula/funcutl.hxx b/include/formula/funcutl.hxx
index 915152466174..e94f29115068 100644
--- a/include/formula/funcutl.hxx
+++ b/include/formula/funcutl.hxx
@@ -27,6 +27,7 @@
#include <vcl/weld.hxx>
class KeyEvent;
+struct ImplSVEvent;
namespace formula {
@@ -41,6 +42,9 @@ private:
Idle aIdle;
IControlReferenceHandler* pAnyRefDlg; // parent dialog
weld::Label* pLabelWidget;
+ ImplSVEvent* mpFocusInEvent;
+ ImplSVEvent* mpFocusOutEvent;
+
Link<RefEdit&,void> maGetFocusHdl;
Link<RefEdit&,void> maLoseFocusHdl;
Link<RefEdit&,void> maModifyHdl;
@@ -49,10 +53,15 @@ private:
DECL_LINK( UpdateHdl, Timer*, void );
DECL_LINK(KeyInputHdl, const KeyEvent&, bool);
- DECL_LINK(GetFocus, weld::Widget&, void);
- DECL_LINK(LoseFocus, weld::Widget&, void);
+ DECL_LINK(GetFocusHdl, weld::Widget&, void);
+ DECL_LINK(LoseFocusHdl, weld::Widget&, void);
+ DECL_LINK(AsyncFocusInHdl, void*, void);
+ DECL_LINK(AsyncFocusOutHdl, void*, void);
DECL_LINK(Modify, weld::Entry&, void);
+ void GetFocus();
+ void LoseFocus();
+
protected:
virtual bool KeyInput(const KeyEvent& rKEvt);