diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-02-14 12:36:29 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-02-14 22:02:49 +0100 |
commit | 038634b63e997db80c09af3c6493364fa4431bcf (patch) | |
tree | b6df9e5a3c55eb4ba3446a61d15ecee24f7b8576 | |
parent | 465fb025a0117428aa0d409e203e3e1c60bdd992 (diff) |
Resolves: tdf#123426 don't reformat tabstop pos while editing
we want to know what it would format as, but we don't want to do
the formatting during typing
Change-Id: I817798adf5b3f9325682f43b92fe107659803b4f
Reviewed-on: https://gerrit.libreoffice.org/67819
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | cui/source/inc/tabstpge.hxx | 2 | ||||
-rw-r--r-- | cui/source/tabpages/tabstpge.cxx | 16 | ||||
-rw-r--r-- | include/vcl/weld.hxx | 2 |
3 files changed, 13 insertions, 7 deletions
diff --git a/cui/source/inc/tabstpge.hxx b/cui/source/inc/tabstpge.hxx index f3f10c4a3435..7ad63e4cbf38 100644 --- a/cui/source/inc/tabstpge.hxx +++ b/cui/source/inc/tabstpge.hxx @@ -130,6 +130,8 @@ private: void SetFillAndTabType_Impl(); void NewHdl_Impl(const weld::Button*); + OUString FormatTab(); + // Handler DECL_LINK(NewHdl_Impl, weld::Button&, void); DECL_LINK(DelHdl_Impl, weld::Button&, void); diff --git a/cui/source/tabpages/tabstpge.cxx b/cui/source/tabpages/tabstpge.cxx index bc2ac9a6a4de..ae4f559a43b1 100644 --- a/cui/source/tabpages/tabstpge.cxx +++ b/cui/source/tabpages/tabstpge.cxx @@ -434,6 +434,7 @@ void SvxTabulatorTabPage::NewHdl_Impl(const weld::Button* pBtn) { // Add a new one and select it // Get the value from the display + ReformatHdl_Impl(*m_xTabBox); m_xTabSpin->set_text(m_xTabBox->get_active_text()); auto nVal = m_xTabSpin->denormalize(m_xTabSpin->get_value(eDefUnit)); @@ -488,8 +489,7 @@ void SvxTabulatorTabPage::NewHdl_Impl(const weld::Button* pBtn) int SvxTabulatorTabPage::FindCurrentTab() { - ReformatHdl_Impl(*m_xTabBox); - return m_xTabBox->find_text(m_xTabBox->get_active_text()); + return m_xTabBox->find_text(FormatTab()); } IMPL_LINK_NOARG(SvxTabulatorTabPage, DelHdl_Impl, weld::Button&, void) @@ -632,11 +632,16 @@ IMPL_LINK_NOARG(SvxTabulatorTabPage, SelectHdl_Impl, weld::TreeView&, void) } } -IMPL_LINK_NOARG(SvxTabulatorTabPage, ReformatHdl_Impl, weld::Widget&, void) +OUString SvxTabulatorTabPage::FormatTab() { m_xTabSpin->set_text(m_xTabBox->get_active_text()); - m_xTabSpin->set_value(m_xTabSpin->get_value(FieldUnit::NONE), FieldUnit::NONE); - m_xTabBox->set_entry_text(m_xTabSpin->get_text()); + m_xTabSpin->reformat(); + return m_xTabSpin->get_text(); +} + +IMPL_LINK_NOARG(SvxTabulatorTabPage, ReformatHdl_Impl, weld::Widget&, void) +{ + m_xTabBox->set_entry_text(FormatTab()); } IMPL_LINK_NOARG(SvxTabulatorTabPage, ModifyHdl_Impl, weld::ComboBox&, void) @@ -649,7 +654,6 @@ IMPL_LINK_NOARG(SvxTabulatorTabPage, ModifyHdl_Impl, weld::ComboBox&, void) m_xTabSpin->set_text(m_xTabBox->get_active_text()); aCurrentTab.GetTabPos() = m_xTabSpin->denormalize(m_xTabSpin->get_value(eDefUnit)); - m_xNewBtn->set_sensitive(false); m_xDelBtn->set_sensitive(true); return; diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx index 806027ca6f48..7a88c60189bf 100644 --- a/include/vcl/weld.hxx +++ b/include/vcl/weld.hxx @@ -1096,7 +1096,7 @@ public: // typically you only need to call this if set_text (e.g. with "") was // previously called to display some arbitrary text instead of the // formatted value and now you want to show it as formatted again - void reformat() { set_value(get_value(m_eSrcUnit), m_eSrcUnit); } + void reformat() { spin_button_output(*m_xSpinButton); } void set_range(int min, int max, FieldUnit eValueUnit) { |