summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorAdam Co <rattles2013@gmail.com>2013-05-21 16:48:56 +0300
committerFridrich Strba <fridrich@documentfoundation.org>2013-05-21 13:59:34 +0000
commitdd0b079c9298331a090e3690a85321781d16ed3c (patch)
tree363be5d575cf99f755f9d38d082c624a4f87fd83 /sw
parent3d77112ceb6b49b0bba00832cd75d9a03ee8af26 (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>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/filter/ww8/docxexport.cxx22
-rw-r--r--sw/source/filter/ww8/docxexport.hxx1
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.