diff options
Diffstat (limited to 'writerfilter/source/dmapper/DomainMapper_Impl.cxx')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.cxx | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index ae121ea2b2d3..ae69b3ba5b89 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -126,6 +126,9 @@ #include <unicode/errorcode.h> #include <unicode/regex.h> +#define REFFLDFLAG_STYLE_FROM_BOTTOM 0xc100 +#define REFFLDFLAG_STYLE_HIDE_NON_NUMERICAL 0xc200 + using namespace ::com::sun::star; using namespace oox; namespace writerfilter::dmapper{ @@ -7600,6 +7603,21 @@ void DomainMapper_Impl::CloseFieldCommand() xFieldProperties->setPropertyValue( getPropertyName(PROP_SOURCE_NAME), aStyleDisplayName); + + sal_uInt16 nFlags = 0; + OUString sValue; + if( lcl_FindInCommand( pContext->GetCommand(), 'l', sValue )) + { + //search-below-first + nFlags |= REFFLDFLAG_STYLE_FROM_BOTTOM; + } + if( lcl_FindInCommand( pContext->GetCommand(), 't', sValue )) + { + //suppress-nondelimiter + nFlags |= REFFLDFLAG_STYLE_HIDE_NON_NUMERICAL; + } + xFieldProperties->setPropertyValue( + getPropertyName( PROP_REFERENCE_FIELD_FLAGS ), uno::Any(nFlags) ); } else { |