diff options
Diffstat (limited to 'sw/source/filter/xml/wrtxml.cxx')
-rw-r--r-- | sw/source/filter/xml/wrtxml.cxx | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/sw/source/filter/xml/wrtxml.cxx b/sw/source/filter/xml/wrtxml.cxx index fa9fdbe2b3bc..4f7a8d4dc55c 100644 --- a/sw/source/filter/xml/wrtxml.cxx +++ b/sw/source/filter/xml/wrtxml.cxx @@ -46,6 +46,7 @@ #include <IDocumentRedlineAccess.hxx> #include <IDocumentStatistics.hxx> #include <IDocumentLayoutAccess.hxx> +#include <rootfrm.hxx> #include <docstat.hxx> #include <docsh.hxx> @@ -182,8 +183,16 @@ ErrCode SwXMLWriter::Write_( const uno::Reference < task::XStatusIndicator >& xS // save show redline mode ... const OUString sShowChanges("ShowChanges"); RedlineFlags nRedlineFlags = m_pDoc->getIDocumentRedlineAccess().GetRedlineFlags(); - xInfoSet->setPropertyValue( sShowChanges, - makeAny( IDocumentRedlineAccess::IsShowChanges( nRedlineFlags ) ) ); + bool isShowChanges; + if (getenv("SW_REDLINEHIDE")) + { // TODO: ideally this would be stored per-view... + isShowChanges = !m_pDoc->getIDocumentLayoutAccess().GetCurrentLayout()->IsHideRedlines(); + } + else + { + isShowChanges = IDocumentRedlineAccess::IsShowChanges(nRedlineFlags); + } + xInfoSet->setPropertyValue(sShowChanges, makeAny(isShowChanges)); // ... and hide redlines for export nRedlineFlags &= ~RedlineFlags::ShowMask; nRedlineFlags |= RedlineFlags::ShowInsert; @@ -403,8 +412,15 @@ ErrCode SwXMLWriter::Write_( const uno::Reference < task::XStatusIndicator >& xS nRedlineFlags = m_pDoc->getIDocumentRedlineAccess().GetRedlineFlags(); nRedlineFlags &= ~RedlineFlags::ShowMask; nRedlineFlags |= RedlineFlags::ShowInsert; - if ( *o3tl::doAccess<bool>(aAny) ) + if (getenv("SW_REDLINEHIDE")) + { nRedlineFlags |= RedlineFlags::ShowDelete; + } + else + { + if (*o3tl::doAccess<bool>(aAny)) + nRedlineFlags |= RedlineFlags::ShowDelete; + } m_pDoc->getIDocumentRedlineAccess().SetRedlineFlags( nRedlineFlags ); if (xStatusIndicator.is()) |