sw/source/filter/ww8/docxexport.cxx | 22 ++++++++++++++++++++++ sw/source/filter/ww8/docxexport.hxx | 1 + 2 files changed, 23 insertions(+)
New commits: commit dd0b079c9298331a090e3690a85321781d16ed3c Author: Adam Co <rattles2...@gmail.com> Date: Tue May 21 16:48:56 2013 +0300 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 <fridr...@documentfoundation.org> Tested-by: Fridrich Strba <fridr...@documentfoundation.org> diff --git a/sw/source/filter/ww8/docxexport.cxx b/sw/source/filter/ww8/docxexport.cxx index 9840c45..ca46cae 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 16bf73e..2348349 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. _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits