diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-02-18 14:56:01 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-02-18 21:04:32 +0100 |
commit | c56e0c791a79dc414108e1b2fbf0f7eb38657f10 (patch) | |
tree | 902ac8d87e5e8021353720467dbe379fbc46f546 /include/formula | |
parent | 28557f54caf924240e6d698a9d2f1e2bc1cf3ab4 (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.hxx | 13 |
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); |