Kaydet (Commit) 6bbb384b authored tarafından Caolán McNamara's avatar Caolán McNamara

Resolves: tdf#122348 make return in spinbutton signal value change

before going on to close the dialog afterwards

Change-Id: I9764512a944e52b0d2bff2d11c8cf74c057e2623
Reviewed-on: https://gerrit.libreoffice.org/66024
Tested-by: Jenkins
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst e87be6db
...@@ -2576,6 +2576,7 @@ private: ...@@ -2576,6 +2576,7 @@ private:
DECL_LINK(LoseFocusHdl, Control&, void); DECL_LINK(LoseFocusHdl, Control&, void);
DECL_LINK(OutputHdl, Edit&, bool); DECL_LINK(OutputHdl, Edit&, bool);
DECL_LINK(InputHdl, sal_Int64*, TriState); DECL_LINK(InputHdl, sal_Int64*, TriState);
DECL_LINK(ActivateHdl, Edit&, bool);
double toField(int nValue) const double toField(int nValue) const
{ {
...@@ -2598,6 +2599,7 @@ public: ...@@ -2598,6 +2599,7 @@ public:
m_xButton->SetLoseFocusHdl(LINK(this, SalInstanceSpinButton, LoseFocusHdl)); m_xButton->SetLoseFocusHdl(LINK(this, SalInstanceSpinButton, LoseFocusHdl));
m_xButton->SetOutputHdl(LINK(this, SalInstanceSpinButton, OutputHdl)); m_xButton->SetOutputHdl(LINK(this, SalInstanceSpinButton, OutputHdl));
m_xButton->SetInputHdl(LINK(this, SalInstanceSpinButton, InputHdl)); m_xButton->SetInputHdl(LINK(this, SalInstanceSpinButton, InputHdl));
m_xButton->GetSubEdit()->SetActivateHdl(LINK(this, SalInstanceSpinButton, ActivateHdl));
} }
virtual int get_value() const override virtual int get_value() const override
...@@ -2657,6 +2659,8 @@ public: ...@@ -2657,6 +2659,8 @@ public:
virtual ~SalInstanceSpinButton() override virtual ~SalInstanceSpinButton() override
{ {
if (Edit* pEdit = m_xButton->GetSubEdit())
pEdit->SetActivateHdl(Link<Edit&, bool>());
m_xButton->SetInputHdl(Link<sal_Int64*, TriState>()); m_xButton->SetInputHdl(Link<sal_Int64*, TriState>());
m_xButton->SetOutputHdl(Link<Edit&, bool>()); m_xButton->SetOutputHdl(Link<Edit&, bool>());
m_xButton->SetLoseFocusHdl(Link<Control&, void>()); m_xButton->SetLoseFocusHdl(Link<Control&, void>());
...@@ -2665,6 +2669,13 @@ public: ...@@ -2665,6 +2669,13 @@ public:
} }
}; };
IMPL_LINK_NOARG(SalInstanceSpinButton, ActivateHdl, Edit&, bool)
{
// tdf#122348 return pressed to end dialog
signal_value_changed();
return false;
}
IMPL_LINK_NOARG(SalInstanceSpinButton, UpDownHdl, SpinField&, void) IMPL_LINK_NOARG(SalInstanceSpinButton, UpDownHdl, SpinField&, void)
{ {
signal_value_changed(); signal_value_changed();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment