sw/source/ui/chrdlg/numpara.cxx |   14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

New commits:
commit f05f92f09d99c48a96a3ef18943c265a803e3820
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Fri Jan 21 16:26:38 2022 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Fri Jan 21 20:53:22 2022 +0100

    tdf#146891 there is a case where "chapter numbering" can be changed
    
    where "Chapter Numbering" is present but the list is editable, so
    we can't be sure that just adding "Chapter Numbering" for display
    purposes is safe enough, so add a specific id for the "pseudo" list
    style and check for that id (instead of the name) to determine the
    additional case where "Edit" button cannot be enabled
    
    Related: tdf#145804 show "Chapter Numbering" as (uneditable) list style
    Change-Id: I35d852523314c985ea5b7217e9394ac3e9c6e331
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128737
    Tested-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/sw/source/ui/chrdlg/numpara.cxx b/sw/source/ui/chrdlg/numpara.cxx
index 00e9a3b607bd..205bcacadb6f 100644
--- a/sw/source/ui/chrdlg/numpara.cxx
+++ b/sw/source/ui/chrdlg/numpara.cxx
@@ -184,10 +184,12 @@ void SwParagraphNumTabPage::Reset(const SfxItemSet* rSet)
 
         if( aStyle == "Outline")
         {
-            // tdf#145804 show "Chapter Numbering"
-            assert(!m_xNumberStyleBX->get_sensitive() && "pseudo entry 
shouldn't be editable");
-            m_xNumberStyleLB->append_text(msOutlineNumbering);
-            m_xNumberStyleLB->set_active_text(msOutlineNumbering);
+            if (m_xNumberStyleLB->find_id("pseudo") == -1)
+            {
+                // tdf#145804 show "Chapter Numbering"
+                m_xNumberStyleLB->append("pseudo", msOutlineNumbering);
+            }
+            m_xNumberStyleLB->set_active_id("pseudo");
             m_xNumberStyleLB->save_value();
         }
         else
@@ -291,8 +293,8 @@ IMPL_LINK_NOARG(SwParagraphNumTabPage, LineCountHdl_Impl, 
weld::Toggleable&, voi
 IMPL_LINK_NOARG(SwParagraphNumTabPage, EditNumStyleSelectHdl_Impl, 
weld::ComboBox&, void)
 {
     int numSelectPos = m_xNumberStyleLB->get_active();
-    // 0 is "None" and -1 is unselected state
-    if (numSelectPos == 0 || numSelectPos == -1)
+    // 0 is "None" and -1 is unselected state and a "pseudo" is uneditable 
"Chapter Numbering"
+    if (numSelectPos == 0 || numSelectPos == -1 || 
m_xNumberStyleLB->get_active_id() == "pseudo")
         m_xEditNumStyleBtn->set_sensitive(false);
     else
         m_xEditNumStyleBtn->set_sensitive(true);

Reply via email to