summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-11-19 11:38:40 +0000
committerCaolán McNamara <caolanm@redhat.com>2019-11-19 22:15:28 +0100
commitb626a7de72c8c94f0999acf08b83d7449c36a535 (patch)
treebe66c6ec632958c04d0ba42f1055c76290c6fa7a
parent72acdb46f62d8ebbc70f7f478f5be155c73ddcda (diff)
up/down in ArgEdit doesn't do anything
but it should cycle through the arguments Change-Id: Ifa398039e77d536a0df021b1a18e06d6df673980 Reviewed-on: https://gerrit.libreoffice.org/83192 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 7a73a586571a8242d9a49051adc62ef7c1c43e86) Reviewed-on: https://gerrit.libreoffice.org/83213
-rw-r--r--formula/source/ui/dlg/ControlHelper.hxx2
-rw-r--r--formula/source/ui/dlg/funcutl.cxx13
-rw-r--r--include/formula/funcutl.hxx6
3 files changed, 14 insertions, 7 deletions
diff --git a/formula/source/ui/dlg/ControlHelper.hxx b/formula/source/ui/dlg/ControlHelper.hxx
index 3fb82de8bac1..960935573acc 100644
--- a/formula/source/ui/dlg/ControlHelper.hxx
+++ b/formula/source/ui/dlg/ControlHelper.hxx
@@ -38,7 +38,7 @@ public:
ParaWin& rParaWin, sal_uInt16 nArgCount);
protected:
- DECL_LINK(KeyInputHdl, const KeyEvent&, bool);
+ virtual bool KeyInput(const KeyEvent& rKEvt);
private:
ArgEdit* pEdPrev;
diff --git a/formula/source/ui/dlg/funcutl.cxx b/formula/source/ui/dlg/funcutl.cxx
index 21ab45c0ee6b..491bab8c2769 100644
--- a/formula/source/ui/dlg/funcutl.cxx
+++ b/formula/source/ui/dlg/funcutl.cxx
@@ -55,7 +55,7 @@ void ArgEdit::Init(ArgEdit* pPrevEdit, ArgEdit* pNextEdit,
}
// Cursor control for Edit Fields in Argument Dialog
-IMPL_LINK(ArgEdit, KeyInputHdl, const KeyEvent&, rKEvt, bool)
+bool ArgEdit::KeyInput(const KeyEvent& rKEvt)
{
vcl::KeyCode aCode = rKEvt.GetKeyCode();
bool bUp = (aCode.GetCode() == KEY_UP);
@@ -127,7 +127,7 @@ IMPL_LINK(ArgEdit, KeyInputHdl, const KeyEvent&, rKEvt, bool)
}
return true;
}
- return false;
+ return RefEdit::KeyInput(rKEvt);
}
// class ArgInput
@@ -272,7 +272,7 @@ RefEdit::RefEdit(std::unique_ptr<weld::Entry> xControl)
{
xEntry->connect_focus_in(LINK(this, RefEdit, GetFocus));
xEntry->connect_focus_out(LINK(this, RefEdit, LoseFocus));
- xEntry->connect_key_press(LINK(this, RefEdit, KeyInput));
+ xEntry->connect_key_press(LINK(this, RefEdit, KeyInputHdl));
xEntry->connect_changed(LINK(this, RefEdit, Modify));
aIdle.SetInvokeHandler( LINK( this, RefEdit, UpdateHdl ) );
}
@@ -330,7 +330,12 @@ IMPL_LINK_NOARG(RefEdit, Modify, weld::Entry&, void)
pAnyRefDlg->HideReference();
}
-IMPL_LINK(RefEdit, KeyInput, const KeyEvent&, rKEvt, bool)
+IMPL_LINK(RefEdit, KeyInputHdl, const KeyEvent&, rKEvt, bool)
+{
+ return KeyInput(rKEvt);
+}
+
+bool RefEdit::KeyInput(const KeyEvent& rKEvt)
{
const vcl::KeyCode& rKeyCode = rKEvt.GetKeyCode();
if (pAnyRefDlg && !rKeyCode.GetModifier() && rKeyCode.GetCode() == KEY_F2)
diff --git a/include/formula/funcutl.hxx b/include/formula/funcutl.hxx
index 5e4a037c607e..02cf585a771e 100644
--- a/include/formula/funcutl.hxx
+++ b/include/formula/funcutl.hxx
@@ -49,15 +49,17 @@ private:
DECL_LINK( UpdateHdl, Timer*, void );
protected:
- DECL_LINK(KeyInput, const KeyEvent&, bool);
+ DECL_LINK(KeyInputHdl, const KeyEvent&, bool);
DECL_LINK(GetFocus, weld::Widget&, void);
DECL_LINK(LoseFocus, weld::Widget&, void);
DECL_LINK(Modify, weld::Entry&, void);
+ virtual bool KeyInput(const KeyEvent& rKEvt);
+
public:
RefEdit(std::unique_ptr<weld::Entry> xControl);
weld::Entry* GetWidget() const { return xEntry.get(); }
- ~RefEdit();
+ virtual ~RefEdit();
void SetRefString( const OUString& rStr );