diff options
author | László Németh <nemeth@numbertext.org> | 2020-06-16 18:52:56 +0200 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2020-06-24 12:44:26 +0200 |
commit | c850d7288650c37a3c569fd4891ecdf725b3a279 (patch) | |
tree | d7b84596fda84708556d8b940094877c2ecc925a /writerfilter | |
parent | ebe228dc28773816beaa78837a8441513270cb67 (diff) |
tdf#76817 DOCX: fix round-tripped outline numbering
Fix automatic chapter numbering in DOCX documents
created by Writer.
Follow-up of commit de1b634a151c198584dc152676183f519c50a2da
(tdf#76817: DOCX import: fix custom chapter numbering).
Change-Id: I331b7dcf67efdf63b376122ec4da0a2e85bea761
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96529
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit d0cdeb78e9077320011ebe87cabd179b1029e1ea)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96509
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/dmapper/NumberingManager.cxx | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/writerfilter/source/dmapper/NumberingManager.cxx b/writerfilter/source/dmapper/NumberingManager.cxx index 23ea3ebefbb7..c96dbba8dcb8 100644 --- a/writerfilter/source/dmapper/NumberingManager.cxx +++ b/writerfilter/source/dmapper/NumberingManager.cxx @@ -577,9 +577,15 @@ void ListDef::CreateNumberingRules( DomainMapper& rDMapper, xOutlineRules->replaceByIndex(nLevel, uno::makeAny(comphelper::containerToSequence(aLvlProps))); } - // first level with custom pStyle - if ( WW_OUTLINE_MAX + 1 == m_nDefaultParentLevels && pAbsLevel->GetParaStyle( ) ) + // first level without default outline paragraph style + const tools::SvRef< StyleSheetEntry >& aParaStyle = pAbsLevel->GetParaStyle(); + if ( WW_OUTLINE_MAX + 1 == m_nDefaultParentLevels && ( !aParaStyle || + aParaStyle->sConvertedStyleName.getLength() != RTL_CONSTASCII_LENGTH( "Heading 1" ) || + !aParaStyle->sConvertedStyleName.startsWith("Heading ") || + aParaStyle->sConvertedStyleName[ RTL_CONSTASCII_LENGTH( "Heading " ) ] - u'1' != nLevel ) ) + { m_nDefaultParentLevels = nLevel; + } nLevel++; } |