tdf#154052: Change "Level" spinbox to combobox

Change-Id: I58a50963f95a2c364557a7aa0992f9858ec5d9cf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158301
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
diff --git a/sw/source/ui/fldui/flddok.cxx b/sw/source/ui/fldui/flddok.cxx
index a195ed0..1a2857b 100644
--- a/sw/source/ui/fldui/flddok.cxx
+++ b/sw/source/ui/fldui/flddok.cxx
@@ -42,7 +42,7 @@ SwFieldDokPage::SwFieldDokPage(weld::Container* pPage, weld::DialogController* p
    , m_xValueFT(m_xBuilder->weld_label("valueft"))
    , m_xValueED(m_xBuilder->weld_entry("value"))
    , m_xLevelFT(m_xBuilder->weld_label("levelft"))
    , m_xLevelED(m_xBuilder->weld_spin_button("level"))
    , m_xLevelED(m_xBuilder->weld_combo_box("level"))
    , m_xDateFT(m_xBuilder->weld_label("daysft"))
    , m_xTimeFT(m_xBuilder->weld_label("minutesft"))
    , m_xDateOffsetED(m_xBuilder->weld_spin_button("offset"))
@@ -65,7 +65,10 @@ SwFieldDokPage::SwFieldDokPage(weld::Container* pPage, weld::DialogController* p
    m_xFormatLB->connect_row_activated(LINK(this, SwFieldDokPage, TreeViewInsertHdl));
    m_xNumFormatLB->connect_row_activated(LINK(this, SwFieldDokPage, NumFormatHdl));

    m_xLevelED->set_max(MAXLEVEL);
    for (sal_uInt16 i = 1; i <= MAXLEVEL; i++)
        m_xLevelED->append_text(OUString::number(i));

    m_xLevelED->set_active(0);
    m_xDateOffsetED->set_range(INT_MIN, INT_MAX);
    //enable 'active' language selection
    m_xNumFormatLB->SetShowLanguageControl(true);
@@ -356,7 +359,7 @@ IMPL_LINK_NOARG(SwFieldDokPage, TypeHdl, weld::TreeView&, void)
        case SwFieldTypesEnum::Chapter:
            m_xValueFT->set_label(SwResId(STR_LEVEL));
            if (IsFieldEdit())
                m_xLevelED->set_text(OUString::number(static_cast<SwChapterField*>(GetCurField())->GetLevel(GetWrtShell()->GetLayout()) + 1));
                m_xLevelED->set_active(static_cast<SwChapterField*>(GetCurField())->GetLevel(GetWrtShell()->GetLayout()));
            bLevel = true;
            break;

@@ -598,7 +601,7 @@ bool SwFieldDokPage::FillItemSet(SfxItemSet* )
        }

        case SwFieldTypesEnum::Chapter:
            aVal = m_xLevelED->get_text();
            aVal = OUString::number(m_xLevelED->get_active());
            break;

        default:
diff --git a/sw/source/ui/fldui/flddok.hxx b/sw/source/ui/fldui/flddok.hxx
index b532b06..3192ecc 100644
--- a/sw/source/ui/fldui/flddok.hxx
+++ b/sw/source/ui/fldui/flddok.hxx
@@ -35,7 +35,7 @@ class SwFieldDokPage : public SwFieldPage
    std::unique_ptr<weld::Label> m_xValueFT;
    std::unique_ptr<weld::Entry> m_xValueED;
    std::unique_ptr<weld::Label> m_xLevelFT;
    std::unique_ptr<weld::SpinButton> m_xLevelED;
    std::unique_ptr<weld::ComboBox> m_xLevelED;
    std::unique_ptr<weld::Label> m_xDateFT;
    std::unique_ptr<weld::Label> m_xTimeFT;
    std::unique_ptr<weld::SpinButton> m_xDateOffsetED;
diff --git a/sw/uiconfig/swriter/ui/flddocumentpage.ui b/sw/uiconfig/swriter/ui/flddocumentpage.ui
index 6849333..75fca47 100644
--- a/sw/uiconfig/swriter/ui/flddocumentpage.ui
+++ b/sw/uiconfig/swriter/ui/flddocumentpage.ui
@@ -2,13 +2,6 @@
<!-- Generated with glade 3.36.0 -->
<interface domain="sw">
  <requires lib="gtk+" version="3.20"/>
  <object class="GtkAdjustment" id="adjustment1">
    <property name="lower">1</property>
    <property name="upper">10</property>
    <property name="value">1</property>
    <property name="step_increment">1</property>
    <property name="page_increment">10</property>
  </object>
  <object class="GtkAdjustment" id="adjustment2">
    <property name="upper">1000000</property>
    <property name="step_increment">1</property>
@@ -356,11 +349,9 @@
              </packing>
            </child>
            <child>
              <object class="GtkSpinButton" id="level">
              <object class="GtkComboBoxText" id="level">
                <property name="visible">True</property>
                <property name="can_focus">True</property>
                <property name="adjustment">adjustment1</property>
                <property name="truncate-multiline">True</property>
                <property name="tooltip_text" translatable="yes" context="flddocumentpage|level|tooltip_text">Select the first prior heading for display whose outline level is less than or equal to the specified value.</property>
                <child internal-child="accessible">
                  <object class="AtkObject" id="level-atkobject">