diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2013-10-15 15:17:09 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2013-10-15 16:10:04 +0200 |
commit | 74904ca6b083f16074e1c5b60729890fc972ad42 (patch) | |
tree | c213de6159e8d4c5eacfdaca8045b56300e96ddd /sw/source/filter/ww8/ww8par3.cxx | |
parent | 706c5a54f662ea58e3b3a64f189eb5120191152a (diff) |
fdo#36868 WW8 import: allow outline numbering and list style in the same ...
.. paragraph style
The original problem (from a user's point of view) was that the second
level of the numbering started from 1.1 instead of 2.1 in the bugdoc.
This was fixed by using outline numbering for level 2 as well, but this
is problematic in many cases: we want to have outline numbering exactly
when outline numbering is enabled for the given paragraph style.
So revert the change in SwWW8ImplReader::SetStylesList() and fix it
differently: SwWW8ImplReader::RegisterNumFmtOnStyle() explicitly ignores
list style if outline numbering is available with no good reason. Both
the WW8 format and Writer core allows to have outline numbering and a
list style at the same time, so set list style even when outline
numbering is available. This fixes the original issue, too -- without
introducing nasty fake outline numbering usage.
Also add a testcase for the original issue.
(regression from e3d5c3e0746916c4056389dd8c2daa6c451c8f6e)
Change-Id: Id7d2d67a96a858aee3230110cb518fea51d19d38
Diffstat (limited to 'sw/source/filter/ww8/ww8par3.cxx')
-rw-r--r-- | sw/source/filter/ww8/ww8par3.cxx | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/sw/source/filter/ww8/ww8par3.cxx b/sw/source/filter/ww8/ww8par3.cxx index e7b0b40702ef..80195fad85e7 100644 --- a/sw/source/filter/ww8/ww8par3.cxx +++ b/sw/source/filter/ww8/ww8par3.cxx @@ -1741,8 +1741,6 @@ void SwWW8ImplReader::SetStylesList(sal_uInt16 nStyle, sal_uInt16 nActLFO, { rStyleInf.nLFOIndex = nActLFO; rStyleInf.nListLevel = nActLevel; - if (nActLevel > 0) // it must be an outline list - rStyleInf.nOutlineLevel = nActLevel; if ( (USHRT_MAX > nActLFO) && @@ -1791,12 +1789,9 @@ void SwWW8ImplReader::RegisterNumFmtOnStyle(sal_uInt16 nStyle) { if( MAXLEVEL > rStyleInf.nOutlineLevel ) rStyleInf.pOutlineNumrule = pNmRule; - else - { - rStyleInf.pFmt->SetFmtAttr( + rStyleInf.pFmt->SetFmtAttr( SwNumRuleItem( pNmRule->GetName() ) ); - rStyleInf.bHasStyNumRule = true; - } + rStyleInf.bHasStyNumRule = true; } } |