diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2019-10-21 18:33:51 +0200 |
---|---|---|
committer | Michael Stahl <michael.stahl@cib.de> | 2019-10-23 13:09:20 +0200 |
commit | 94e0b8407b02d76b27324b8b08012eb024aca9e9 (patch) | |
tree | 6836e4f35c758e88cb135384f1a2e96d9d90d0c7 /sw/source/filter/ww8/docxattributeoutput.hxx | |
parent | 4f174e66431628fa1343ec44d63cc3f02cc0bb0b (diff) |
sw: DOCX export of nested fieldmarks
The DocxAttributeOutput was more or less ignoring FieldFlags::CmdEnd;
split CmdField_Impl() into 2 functions to write the command text with
the Start like WW8/RTF and the separator with the CmdEnd.
Change-Id: I7cfa52e2d786a8c9b427057eadc9ccc271d2f90f
Reviewed-on: https://gerrit.libreoffice.org/81263
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
Diffstat (limited to 'sw/source/filter/ww8/docxattributeoutput.hxx')
-rw-r--r-- | sw/source/filter/ww8/docxattributeoutput.hxx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sw/source/filter/ww8/docxattributeoutput.hxx b/sw/source/filter/ww8/docxattributeoutput.hxx index df8e10724987..d0f92c1f6fc6 100644 --- a/sw/source/filter/ww8/docxattributeoutput.hxx +++ b/sw/source/filter/ww8/docxattributeoutput.hxx @@ -58,9 +58,13 @@ struct FieldInfos const ::sw::mark::IFieldmark* pFieldmark; ww::eField eType; bool bOpen; + bool bSep; bool bClose; OUString sCmd; - FieldInfos() : pFieldmark(nullptr), eType(ww::eUNKNOWN), bOpen(false), bClose(false){} + FieldInfos() + : pFieldmark(nullptr), eType(ww::eUNKNOWN) + , bOpen(false), bSep(false), bClose(false) + {} }; enum DocxColBreakStatus @@ -717,6 +721,7 @@ private: void StartField_Impl( const SwTextNode* pNode, sal_Int32 nPos, FieldInfos const & rInfos, bool bWriteRun = false ); void DoWriteCmd( const OUString& rCmd ); void CmdField_Impl( const SwTextNode* pNode, sal_Int32 nPos, FieldInfos const & rInfos, bool bWriteRun ); + void CmdEndField_Impl( const SwTextNode* pNode, sal_Int32 nPos, bool bWriteRun ); void EndField_Impl( const SwTextNode* pNode, sal_Int32 nPos, FieldInfos& rInfos ); void DoWriteFieldRunProperties( const SwTextNode* pNode, sal_Int32 nPos, bool bWriteCombChars = false ); |