summaryrefslogtreecommitdiff
path: root/sw/source/filter/ww8/docxattributeoutput.hxx
diff options
context:
space:
mode:
authorMichael Stahl <Michael.Stahl@cib.de>2019-10-21 18:33:51 +0200
committerMichael Stahl <michael.stahl@cib.de>2019-10-23 13:09:20 +0200
commit94e0b8407b02d76b27324b8b08012eb024aca9e9 (patch)
tree6836e4f35c758e88cb135384f1a2e96d9d90d0c7 /sw/source/filter/ww8/docxattributeoutput.hxx
parent4f174e66431628fa1343ec44d63cc3f02cc0bb0b (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.hxx7
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 );