[Libreoffice] [PATCH] Import of xrefs to numbered paragraphs from docx
Troy Rollo
libreoffice at troy.rollo.name
Fri Jul 22 06:59:48 PDT 2011
This replaces the earlier version of this patch, which was wrong for the
NUMBER_FULL_CONTEXT cross-reference type.
---
writerfilter/source/dmapper/DomainMapper_Impl.cxx | 20 +++++++++++++++++++-
1 files changed, 19 insertions(+), 1 deletions(-)
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 9944c8c..b3e88ea 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -2680,6 +2680,21 @@ void DomainMapper_Impl::CloseFieldCommand()
//above-below
nFieldPart = text::ReferenceFieldPart::UP_DOWN;
}
+ else if( lcl_FindInCommand( pContext->GetCommand(), 'r', sValue ))
+ {
+ //number
+ nFieldPart = text::ReferenceFieldPart::NUMBER;
+ }
+ else if( lcl_FindInCommand( pContext->GetCommand(), 'n', sValue ))
+ {
+ //number-no-context
+ nFieldPart = text::ReferenceFieldPart::NUMBER_NO_CONTEXT;
+ }
+ else if( lcl_FindInCommand( pContext->GetCommand(), 'w', sValue ))
+ {
+ //number-full-context
+ nFieldPart = text::ReferenceFieldPart::NUMBER_FULL_CONTEXT;
+ }
xFieldProperties->setPropertyValue(
rPropNameSupplier.GetName( PROP_REFERENCE_FIELD_PART ), uno::makeAny( nFieldPart ));
}
@@ -2980,7 +2995,10 @@ void DomainMapper_Impl::AddBookmark( const ::rtl::OUString& rBookmarkName, const
xCursor->gotoRange( xTextAppend->getEnd(), true );
uno::Reference< container::XNamed > xBkmNamed( xBookmark, uno::UNO_QUERY_THROW );
//todo: make sure the name is not used already!
- xBkmNamed->setName( aBookmarkIter->second.m_sBookmarkName );
+ if ( aBookmarkIter->second.m_sBookmarkName.getLength() > 0 )
+ xBkmNamed->setName( aBookmarkIter->second.m_sBookmarkName );
+ else
+ xBkmNamed->setName( rBookmarkName );
xTextAppend->insertTextContent( uno::Reference< text::XTextRange >( xCursor, uno::UNO_QUERY_THROW), xBookmark, !xCursor->isCollapsed() );
m_aBookmarkMap.erase( aBookmarkIter );
}
--
1.7.2.5
More information about the LibreOffice
mailing list