[Libreoffice-commits] core.git: Branch 'libreoffice-7-1' - include/editeng sw/source

Justin Luth (via logerrit) logerrit at kemper.freedesktop.org
Wed Jan 27 10:36:10 UTC 2021


 include/editeng/numitem.hxx   |    2 +-
 sw/source/ui/misc/outline.cxx |    9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

New commits:
commit 89516b2be525a01862eacdef2276f0699ed87e3d
Author:     Justin Luth <justin_luth at sil.org>
AuthorDate: Sat Jan 23 12:01:48 2021 +0300
Commit:     Michael Stahl <michael.stahl at allotropia.de>
CommitDate: Wed Jan 27 11:35:34 2021 +0100

    tdf#139147 sw outline UI: allow clearing of custom list format
    
    Since LO 6.4.5, primarily for DOCX support, numbering can
    have a custom format that ignores the suffix, prefix etc.
    Well, the UI has no way to see or edit that. So allow the
    UI to throw that away and go back to the normal
    prefix/subLevels/suffix model.
    
    Change-Id: I84f93d37c95dabb18facf9140bf8f85b4bac5006
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109839
    Tested-by: Jenkins
    Reviewed-by: Vasily Melenchuk <vasily.melenchuk at cib.de>
    Reviewed-by: Justin Luth <justin_luth at sil.org>
    (cherry picked from commit 55933f49f5a04708d27dc69e8778ec126646e3a5)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109975
    Reviewed-by: Michael Stahl <michael.stahl at allotropia.de>

diff --git a/include/editeng/numitem.hxx b/include/editeng/numitem.hxx
index 961b5301206f..992f07b08241 100644
--- a/include/editeng/numitem.hxx
+++ b/include/editeng/numitem.hxx
@@ -172,7 +172,7 @@ public:
     const OUString& GetPrefix() const { return sPrefix;}
     void            SetSuffix(const OUString& rSet) { sSuffix = rSet;}
     const OUString& GetSuffix() const { return sSuffix;}
-    void            SetListFormat(const OUString& rSet) { sListFormat = rSet; }
+    void            SetListFormat(std::optional<OUString> oSet = std::nullopt) { sListFormat = oSet; }
     bool            HasListFormat() const { return sListFormat.has_value(); }
     const OUString& GetListFormat() const { return *sListFormat; }
 
diff --git a/sw/source/ui/misc/outline.cxx b/sw/source/ui/misc/outline.cxx
index bef52a28777c..4553025946ea 100644
--- a/sw/source/ui/misc/outline.cxx
+++ b/sw/source/ui/misc/outline.cxx
@@ -510,11 +510,12 @@ void    SwOutlineSettingsTabPage::Update()
         else
             m_xCharFormatLB->set_active_text(SwViewShell::GetShellRes()->aStrNone);
 
-        if(nTmpLevel)
+        if (nTmpLevel || rFormat.HasListFormat())
         {
             m_xAllLevelFT->set_sensitive(true);
             m_xAllLevelNF->set_sensitive(true);
             m_xAllLevelNF->set_max(nTmpLevel + 1);
+            m_xAllLevelNF->set_min(rFormat.HasListFormat() ? 0 : 1);
             m_xAllLevelNF->set_value(rFormat.GetIncludeUpperLevels());
         }
         else
@@ -560,6 +561,11 @@ IMPL_LINK(SwOutlineSettingsTabPage, ToggleComplete, weld::SpinButton&, rEdit, vo
             SwNumFormat aNumFormat(pNumRule->Get(i));
             aNumFormat.SetIncludeUpperLevels( std::min( static_cast<sal_uInt8>(rEdit.get_value()),
                                                 static_cast<sal_uInt8>(i + 1)) );
+            if (aNumFormat.HasListFormat())
+            {
+                aNumFormat.SetListFormat();  // clear custom format
+                m_xAllLevelNF->set_min(1);
+            }
             pNumRule->Set(i, aNumFormat);
         }
         nMask <<= 1;
@@ -644,6 +650,7 @@ IMPL_LINK_NOARG(SwOutlineSettingsTabPage, DelimModify, weld::Entry&, void)
             SwNumFormat aNumFormat(pNumRule->Get(i));
             aNumFormat.SetPrefix( m_xPrefixED->get_text() );
             aNumFormat.SetSuffix( m_xSuffixED->get_text() );
+            aNumFormat.SetListFormat();  // clear custom format
             pNumRule->Set(i, aNumFormat);
         }
         nMask <<= 1;


More information about the Libreoffice-commits mailing list