sw/inc/IDocumentRedlineAccess.hxx | 2 + sw/source/core/doc/DocumentRedlineManager.cxx | 40 ++++++++++++++++++++++++++ sw/source/core/doc/docfmt.cxx | 3 - sw/source/core/inc/DocumentRedlineManager.hxx | 2 + 4 files changed, 45 insertions(+), 2 deletions(-)
New commits: commit 3abffbf11658874d84b92bb0fd19b7fd55a643a3 Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Mon Feb 24 08:24:01 2025 +0100 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Mon Feb 24 09:26:44 2025 +0100 sw doc model xml dump: show the redline manager's flags I'm looking at moving that RedlineFlags::On to the view. Change-Id: I9cd4d41108a19097d2bed0e1660c084ac7fe8c7a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182076 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/sw/inc/IDocumentRedlineAccess.hxx b/sw/inc/IDocumentRedlineAccess.hxx index 9d97eb43ff7e..264c23e29895 100644 --- a/sw/inc/IDocumentRedlineAccess.hxx +++ b/sw/inc/IDocumentRedlineAccess.hxx @@ -235,6 +235,8 @@ public: virtual void UpdateRedlineContentNode(/*[in]*/ SwRedlineTable::size_type nStartPos, /*[in]*/ SwRedlineTable::size_type nEndPos) const = 0; + virtual void dumpAsXml(xmlTextWriterPtr pWriter) const = 0; + protected: virtual ~IDocumentRedlineAccess() {}; diff --git a/sw/source/core/doc/DocumentRedlineManager.cxx b/sw/source/core/doc/DocumentRedlineManager.cxx index 1c6ba5ccd482..319bedb5b919 100644 --- a/sw/source/core/doc/DocumentRedlineManager.cxx +++ b/sw/source/core/doc/DocumentRedlineManager.cxx @@ -2887,6 +2887,46 @@ void DocumentRedlineManager::UpdateRedlineContentNode(SwRedlineTable::size_type } } +void DocumentRedlineManager::dumpAsXml(xmlTextWriterPtr pWriter) const +{ + (void)xmlTextWriterStartElement(pWriter, BAD_CAST("DocumentRedlineManager")); + (void)xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("ptr"), "%p", this); + + if (meRedlineFlags != RedlineFlags::NONE) + { + (void)xmlTextWriterStartElement(pWriter, BAD_CAST("meRedlineFlags")); + if (meRedlineFlags & RedlineFlags::On) + { + (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("On"), BAD_CAST("true")); + } + if (meRedlineFlags & RedlineFlags::Ignore) + { + (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("Ignore"), BAD_CAST("true")); + } + if (meRedlineFlags & RedlineFlags::ShowInsert) + { + (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("ShowInsert"), BAD_CAST("true")); + } + if (meRedlineFlags & RedlineFlags::ShowDelete) + { + (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("ShowDelete"), BAD_CAST("true")); + } + if (meRedlineFlags & RedlineFlags::DeleteRedlines) + { + (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("DeleteRedlines"), BAD_CAST("true")); + } + if (meRedlineFlags & RedlineFlags::DontCombineRedlines) + { + (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("DontCombineRedlines"), BAD_CAST("true")); + } + (void)xmlTextWriterEndElement(pWriter); + } + maRedlineTable.dumpAsXml(pWriter); + maExtraRedlineTable.dumpAsXml(pWriter); + + (void)xmlTextWriterEndElement(pWriter); +} + bool DocumentRedlineManager::HasRedline( const SwPaM& rPam, RedlineType nType, bool bStartOrEndInRange ) const { SwPosition currentStart(*rPam.Start()); diff --git a/sw/source/core/doc/docfmt.cxx b/sw/source/core/doc/docfmt.cxx index 755ee2541fde..4bc2a178809a 100644 --- a/sw/source/core/doc/docfmt.cxx +++ b/sw/source/core/doc/docfmt.cxx @@ -2003,8 +2003,7 @@ void SwDoc::dumpAsXml(xmlTextWriterPtr pWriter) const mpSectionFormatTable->dumpAsXml(pWriter); mpTableFrameFormatTable->dumpAsXml(pWriter, "tableFrameFormatTable"); mpNumRuleTable->dumpAsXml(pWriter); - getIDocumentRedlineAccess().GetRedlineTable().dumpAsXml(pWriter); - getIDocumentRedlineAccess().GetExtraRedlineTable().dumpAsXml(pWriter); + getIDocumentRedlineAccess().dumpAsXml(pWriter); if (const SdrModel* pModel = getIDocumentDrawModelAccess().GetDrawModel()) pModel->dumpAsXml(pWriter); diff --git a/sw/source/core/inc/DocumentRedlineManager.hxx b/sw/source/core/inc/DocumentRedlineManager.hxx index a164dbbeab7f..48bc454f2fd9 100644 --- a/sw/source/core/inc/DocumentRedlineManager.hxx +++ b/sw/source/core/inc/DocumentRedlineManager.hxx @@ -137,6 +137,8 @@ public: /*[in]*/ SwRedlineTable::size_type nStartPos, /*[in]*/ SwRedlineTable::size_type nEndPos) const override; + void dumpAsXml(xmlTextWriterPtr pWriter) const override; + //Non Interface methods; /** Set comment-text for Redline. It then comes in via AppendRedLine.