sw/source/ui/misc/outline.cxx              |   15 +++++++++------
 sw/uiconfig/swriter/ui/outlinenumbering.ui |    4 ++--
 vcl/jsdialog/enabled.cxx                   |    3 +++
 3 files changed, 14 insertions(+), 8 deletions(-)

New commits:
commit d1df97240cbb157dd8b7f4b658e15adc868b6975
Author:     Szymon Kłos <[email protected]>
AuthorDate: Fri Jan 2 07:50:34 2026 +0000
Commit:     Tomaž Vajngerl <[email protected]>
CommitDate: Mon Jan 5 06:42:19 2026 +0100

    jsdialog: enable heading numbering dialog
    
    - be sure tab names are unique id to avoid problems
    
    Change-Id: I254f7984a9c5fb0f143f9e7ba9a3de625ab9dd45
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196410
    Reviewed-by: Tomaž Vajngerl <[email protected]>
    Tested-by: Jenkins CollaboraOffice <[email protected]>

diff --git a/sw/source/ui/misc/outline.cxx b/sw/source/ui/misc/outline.cxx
index c141b1796f3a..dc62e260c4c1 100644
--- a/sw/source/ui/misc/outline.cxx
+++ b/sw/source/ui/misc/outline.cxx
@@ -50,6 +50,9 @@ using namespace ::com::sun::star;
 
 namespace {
 
+constexpr auto NUMBERING_TAB = u"numberingLb"_ustr;
+constexpr auto POSITION_TAB = u"positionLb"_ustr;
+
 class SwNumNamesDlg : public weld::GenericDialogController
 {
     std::unique_ptr<weld::Entry> m_xFormEdit;
@@ -161,8 +164,8 @@ SwOutlineTabDialog::SwOutlineTabDialog(weld::Window* 
pParent, const SfxItemSet*
         SetActNumLevel(nTmp < 0 ? USHRT_MAX : (1 << nTmp));
     }
 
-    AddTabPage(u"position"_ustr, &SwNumPositionTabPage::Create, nullptr);
-    AddTabPage(u"numbering"_ustr, &SwOutlineSettingsTabPage::Create, nullptr);
+    AddTabPage(POSITION_TAB, &SwNumPositionTabPage::Create, nullptr);
+    AddTabPage(NUMBERING_TAB, &SwOutlineSettingsTabPage::Create, nullptr);
 
     OUString sHeadline;
     sal_uInt16 i;
@@ -198,12 +201,12 @@ SwOutlineTabDialog::~SwOutlineTabDialog()
 
 void SwOutlineTabDialog::PageCreated(const OUString& rPageId, SfxTabPage& 
rPage)
 {
-    if (rPageId == "position")
+    if (rPageId == POSITION_TAB)
     {
         static_cast<SwNumPositionTabPage&>(rPage).SetWrtShell(&m_rWrtSh);
         static_cast<SwNumPositionTabPage&>(rPage).SetOutlineTabDialog(this);
     }
-    else if (rPageId == "numbering")
+    else if (rPageId == NUMBERING_TAB)
     {
         static_cast<SwOutlineSettingsTabPage&>(rPage).SetWrtShell(&m_rWrtSh);
     }
@@ -283,7 +286,7 @@ IMPL_LINK(SwOutlineTabDialog, MenuSelectHdl, const 
OUString&, rIdent, void)
         {
             pRules->ResetNumRule(m_rWrtSh, *m_xNumRule);
             m_xNumRule->SetRuleType( OUTLINE_RULE );
-            SfxTabPage* pOutlinePage = GetTabPage(u"numbering");
+            SfxTabPage* pOutlinePage = GetTabPage(NUMBERING_TAB);
             assert(pOutlinePage);
             
static_cast<SwOutlineSettingsTabPage*>(pOutlinePage)->SetNumRule(m_xNumRule.get());
         }
@@ -889,7 +892,7 @@ void NumberingPreview::Paint(vcl::RenderContext& 
rRenderContext, const tools::Re
     if (m_pActNum)
     {
         tools::Long nWidthRelation = 30; // chapter dialog
-        if(m_nPageWidth)
+        if (m_nPageWidth && aSize.Width())
         {
             nWidthRelation = m_nPageWidth / aSize.Width();
             if(m_bPosition)
diff --git a/sw/uiconfig/swriter/ui/outlinenumbering.ui 
b/sw/uiconfig/swriter/ui/outlinenumbering.ui
index 228c762b32a1..0d9fbe42594c 100644
--- a/sw/uiconfig/swriter/ui/outlinenumbering.ui
+++ b/sw/uiconfig/swriter/ui/outlinenumbering.ui
@@ -294,7 +294,7 @@
               </object>
             </child>
             <child type="tab">
-              <object class="GtkLabel" id="numbering">
+              <object class="GtkLabel" id="numberingLb">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="label" translatable="yes" 
context="outlinenumbering|numbering">Numbering</property>
@@ -341,7 +341,7 @@
               </packing>
             </child>
             <child type="tab">
-              <object class="GtkLabel" id="position">
+              <object class="GtkLabel" id="positionLb">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="label" translatable="yes" 
context="outlinenumbering|position">Position</property>
diff --git a/vcl/jsdialog/enabled.cxx b/vcl/jsdialog/enabled.cxx
index 5e798c6b6e3d..26ba3101ab59 100644
--- a/vcl/jsdialog/enabled.cxx
+++ b/vcl/jsdialog/enabled.cxx
@@ -246,6 +246,9 @@ constexpr auto SwriterDialogList
         { u"modules/swriter/ui/newuserindexdialog.ui" },
         { u"modules/swriter/ui/numparapage.ui" },
         { u"modules/swriter/ui/objectdialog.ui" },
+        { u"modules/swriter/ui/outlinenumbering.ui" },
+        { u"modules/swriter/ui/outlinenumberingpage.ui" },
+        { u"modules/swriter/ui/outlinepositionpage.ui" },
         { u"modules/swriter/ui/pagenumberdlg.ui" },
         { u"modules/swriter/ui/paradialog.ui" },
         { u"modules/swriter/ui/picturedialog.ui" },

Reply via email to