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 _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice