summaryrefslogtreecommitdiff
path: root/writerfilter/source/dmapper/DomainMapper_Impl.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'writerfilter/source/dmapper/DomainMapper_Impl.cxx')
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx18
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
{