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/67820
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
diff --git a/cui/source/inc/tabstpge.hxx b/cui/source/inc/tabstpge.hxx
index d244064..e79cfc7 100644
--- a/cui/source/inc/tabstpge.hxx
+++ b/cui/source/inc/tabstpge.hxx
@@ -130,6 +130,8 @@ private:
    void            SetFillAndTabType_Impl();
    void            NewHdl_Impl(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 8220e0b..d47645e 100644
--- a/cui/source/tabpages/tabstpge.cxx
+++ b/cui/source/tabpages/tabstpge.cxx
@@ -434,6 +434,7 @@ void SvxTabulatorTabPage::NewHdl_Impl(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(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 557f206..4498290 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -999,7 +999,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)
    {