rhbz#746174: also export list restart for non root list

This commit is contained in:
Michael Stahl 2012-01-20 13:45:54 +01:00
parent 35e8190b03
commit c82ed24c4e

View File

@ -906,8 +906,8 @@ void XMLTextParagraphExport::exportListChange(
// Thus, for other document types <sListId> is empty.
const ::rtl::OUString sListId( rNextInfo.GetListId() );
bool bExportListStyle( true );
bool bRestartNumberingAtContinuedRootList( false );
sal_Int16 nRestartValueForContinuedRootList( -1 );
bool bRestartNumberingAtContinuedList( false );
sal_Int32 nRestartValueForContinuedList( -1 );
bool bContinueingPreviousSubList = !bRootListToBeStarted &&
rNextInfo.IsContinueingPreviousSubTree();
do {
@ -980,9 +980,9 @@ void XMLTextParagraphExport::exportListChange(
( nListLevelsToBeOpened != 1 ||
!rNextInfo.HasStartValue() ) )
{
bRestartNumberingAtContinuedRootList = true;
nRestartValueForContinuedRootList =
rNextInfo.GetListLevelStartValue();
bRestartNumberingAtContinuedList = true;
nRestartValueForContinuedList =
rNextInfo.GetListLevelStartValue();
}
}
@ -1003,6 +1003,18 @@ void XMLTextParagraphExport::exportListChange(
GetExport().AddAttribute( XML_NAMESPACE_TEXT, XML_STYLE_NAME,
GetExport().EncodeStyleName( sListStyleName ) );
bExportListStyle = false;
}
else
{
// rhbz#746174: also export list restart for non root list
if (rNextInfo.IsRestart() && !rNextInfo.HasStartValue())
{
bRestartNumberingAtContinuedList = true;
nRestartValueForContinuedList =
rNextInfo.GetListLevelStartValue();
}
}
if ( bContinueingPreviousSubList )
@ -1030,9 +1042,7 @@ void XMLTextParagraphExport::exportListChange(
// <text:list-header> or <text:list-item>
GetExport().CheckAttrList();
/* Export start value in case of <bRestartNumberingAtContinuedRootList>
at correct list item (#i97309#)
*/
/* Export start value at correct list item (#i97309#) */
if ( nListLevelsToBeOpened == 1 )
{
if ( rNextInfo.HasStartValue() )
@ -1042,14 +1052,14 @@ void XMLTextParagraphExport::exportListChange(
GetExport().AddAttribute( XML_NAMESPACE_TEXT, XML_START_VALUE,
aBuffer.makeStringAndClear() );
}
else if ( bRestartNumberingAtContinuedRootList )
else if (bRestartNumberingAtContinuedList)
{
OUStringBuffer aBuffer;
aBuffer.append( (sal_Int32)nRestartValueForContinuedRootList );
aBuffer.append( nRestartValueForContinuedList );
GetExport().AddAttribute( XML_NAMESPACE_TEXT,
XML_START_VALUE,
aBuffer.makeStringAndClear() );
bRestartNumberingAtContinuedRootList = false;
bRestartNumberingAtContinuedList = false;
}
}