diff options
author | Adam Co <rattles2013@gmail.com> | 2013-05-21 16:48:56 +0300 |
---|---|---|
committer | Fridrich Strba <fridrich@documentfoundation.org> | 2013-05-21 13:59:34 +0000 |
commit | dd0b079c9298331a090e3690a85321781d16ed3c (patch) | |
tree | 363be5d575cf99f755f9d38d082c624a4f87fd83 | |
parent | 3d77112ceb6b49b0bba00832cd75d9a03ee8af26 (diff) |
fdo#64826: fix for exporting to DOCX that didnt save track 'changes state'
Change-Id: If5b3198769a08cc751d542f8305fd7f41c73ec26
Reviewed-on: https://gerrit.libreoffice.org/3991
Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org>
Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
-rw-r--r-- | sw/source/filter/ww8/docxexport.cxx | 22 | ||||
-rw-r--r-- | sw/source/filter/ww8/docxexport.hxx | 1 |
2 files changed, 23 insertions, 0 deletions
diff --git a/sw/source/filter/ww8/docxexport.cxx b/sw/source/filter/ww8/docxexport.cxx index 9840c45704e3..ca46cae61aa6 100644 --- a/sw/source/filter/ww8/docxexport.cxx +++ b/sw/source/filter/ww8/docxexport.cxx @@ -686,18 +686,33 @@ void DocxExport::WriteSettings() // Zoom OString aZoom(OString::valueOf(sal_Int32(pViewShell->GetViewOptions()->GetZoom()))); pFS->singleElementNS(XML_w, XML_zoom, FSNS(XML_w, XML_percent), aZoom.getStr(), FSEND); + + // Track Changes + if ( settings.trackRevisions ) + pFS->singleElementNS( XML_w, XML_trackRevisions, FSEND ); + + // Embed Fonts if( pDoc->get( IDocumentSettingAccess::EMBED_FONTS )) pFS->singleElementNS( XML_w, XML_embedTrueTypeFonts, FSEND ); + + // Embed System Fonts if( pDoc->get( IDocumentSettingAccess::EMBED_SYSTEM_FONTS )) pFS->singleElementNS( XML_w, XML_embedSystemFonts, FSEND ); + + // Default Tab Stop if( settings.defaultTabStop != 0 ) pFS->singleElementNS( XML_w, XML_defaultTabStop, FSNS( XML_w, XML_val ), OString::valueOf( sal_Int32( settings.defaultTabStop )).getStr(), FSEND ); + + // Even and Odd Headers if( settings.evenAndOddHeaders ) pFS->singleElementNS( XML_w, XML_evenAndOddHeaders, FSEND ); + // Has Footnotes if( m_pAttrOutput->HasFootnotes()) m_pAttrOutput->WriteFootnoteEndnotePr( pFS, XML_footnotePr, pDoc->GetFtnInfo(), XML_footnote ); + + // Has Endnotes if( m_pAttrOutput->HasEndnotes()) m_pAttrOutput->WriteFootnoteEndnotePr( pFS, XML_endnotePr, pDoc->GetEndNoteInfo(), XML_endnote ); @@ -809,6 +824,9 @@ DocxExport::DocxExport( DocxExportFilter *pFilter, SwDoc *pDocument, SwPaM *pCur m_nFooters( 0 ), m_pVMLExport( NULL ) { + // Set the 'Track Revisions' flag in the settings structure + settings.trackRevisions = 0 != ( nsRedlineMode_t::REDLINE_ON & mnRedlineMode ); + // Write the document properies WriteProperties( ); @@ -840,6 +858,7 @@ DocxExport::~DocxExport() DocxSettingsData::DocxSettingsData() : evenAndOddHeaders( false ) , defaultTabStop( 0 ) +, trackRevisions( false ) { } @@ -849,6 +868,9 @@ bool DocxSettingsData::hasData() const return true; if( defaultTabStop != 0 ) return true; + if ( trackRevisions ) + return true; + return false; } diff --git a/sw/source/filter/ww8/docxexport.hxx b/sw/source/filter/ww8/docxexport.hxx index 16bf73effcf6..2348349f5c79 100644 --- a/sw/source/filter/ww8/docxexport.hxx +++ b/sw/source/filter/ww8/docxexport.hxx @@ -54,6 +54,7 @@ struct DocxSettingsData bool hasData() const; /// returns true if there are any non-default settings (i.e. something to write) bool evenAndOddHeaders; int defaultTabStop; + bool trackRevisions; // Should 'Track Revisions' be set }; /// The class that does all the actual DOCX export-related work. |