From 7882f2425499e6d12894a74696f30b718468c4a4 Mon Sep 17 00:00:00 2001 From: Sarper Akdemir Date: Sun, 9 May 2021 20:55:17 +0300 Subject: tdf#59323: ooxml import: hasNoninheritedBodyProperties Introduces hasNoninheritedBodyProperties. Change-Id: Id108f692005455376537e515f41528cc66a8c25c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117006 Tested-by: Jenkins Reviewed-by: Miklos Vajna --- oox/inc/drawingml/textbody.hxx | 7 +++++++ oox/source/drawingml/textbody.cxx | 1 + oox/source/drawingml/textbodycontext.cxx | 4 ++++ 3 files changed, 12 insertions(+) (limited to 'oox') diff --git a/oox/inc/drawingml/textbody.hxx b/oox/inc/drawingml/textbody.hxx index 25a6ab194089..f89e069d5ffe 100644 --- a/oox/inc/drawingml/textbody.hxx +++ b/oox/inc/drawingml/textbody.hxx @@ -75,6 +75,11 @@ public: /// Returns whether the textbody had a pPr tag in it bool hasParagraphProperties() const; + /// Returns whether the textbody had a non-empty bodyPr tag in it + bool hasNoninheritedBodyProperties() const { return mbHasNoninheritedBodyProperties; } + /// Flags textbody as having a non-empty bodyPr tag + void setHasNoninheritedBodyProperties() { mbHasNoninheritedBodyProperties = true; } + void ApplyStyleEmpty( const ::oox::core::XmlFilterBase& rFilterBase, const css::uno::Reference < css::text::XText > & xText, @@ -83,6 +88,8 @@ public: protected: TextParagraphVector maParagraphs; TextBodyProperties maTextProperties; + /// Set if bodyPr tag in this textbody is non-empty during import + bool mbHasNoninheritedBodyProperties; TextListStyle maTextListStyle; Text3DProperties ma3DProperties; }; diff --git a/oox/source/drawingml/textbody.cxx b/oox/source/drawingml/textbody.cxx index 5924728430a8..b665e7b355a0 100644 --- a/oox/source/drawingml/textbody.cxx +++ b/oox/source/drawingml/textbody.cxx @@ -30,6 +30,7 @@ using namespace ::com::sun::star::beans; namespace oox::drawingml { TextBody::TextBody() + : mbHasNoninheritedBodyProperties( false ) { } diff --git a/oox/source/drawingml/textbodycontext.cxx b/oox/source/drawingml/textbodycontext.cxx index a10ba58a0499..0492ac22e44a 100644 --- a/oox/source/drawingml/textbodycontext.cxx +++ b/oox/source/drawingml/textbodycontext.cxx @@ -27,6 +27,8 @@ #include #include #include +#include +#include #include @@ -177,6 +179,8 @@ ContextHandlerRef TextBodyContext::onCreateContext( sal_Int32 aElementToken, con switch( aElementToken ) { case A_TOKEN( bodyPr ): // CT_TextBodyPropertyBag + if (sax_fastparser::castToFastAttributeList(rAttribs.getFastAttributeList()).getFastAttributeTokens().size() > 0) + mrTextBody.setHasNoninheritedBodyProperties(); if ( mpShapePtr ) return new TextBodyPropertiesContext( *this, rAttribs, mpShapePtr ); else -- cgit