diff options
author | Sarper Akdemir <sarper.akdemir@collabora.com> | 2021-05-09 20:47:35 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2021-06-23 11:49:01 +0200 |
commit | b05dfa46865f52583cfe370e153b44c7c57788b0 (patch) | |
tree | 6bfedeba1646adbe1e39ba17b5381149bf62ea79 /oox | |
parent | 60e0aee13af382105f88f67114d958af699e9b72 (diff) |
tdf#59323: ooxml import: hasParagraphProperties
Introduces hasParagraphProperties to determine whether or not there was a pPr
tag in the textbody on import.
Change-Id: I3c6815e8405b0087f64520ee4e0e39297b3b4548
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117005
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117622
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'oox')
-rw-r--r-- | oox/inc/drawingml/textbody.hxx | 3 | ||||
-rw-r--r-- | oox/inc/drawingml/textparagraph.hxx | 5 | ||||
-rw-r--r-- | oox/source/drawingml/textbody.cxx | 10 | ||||
-rw-r--r-- | oox/source/drawingml/textbodycontext.cxx | 1 | ||||
-rw-r--r-- | oox/source/drawingml/textparagraph.cxx | 1 |
5 files changed, 20 insertions, 0 deletions
diff --git a/oox/inc/drawingml/textbody.hxx b/oox/inc/drawingml/textbody.hxx index 34b7fce40725..66dcf4239c6b 100644 --- a/oox/inc/drawingml/textbody.hxx +++ b/oox/inc/drawingml/textbody.hxx @@ -73,6 +73,9 @@ public: */ bool hasVisualRunProperties() const; + /// Returns whether the textbody had a pPr tag in it + bool hasParagraphProperties() const; + void ApplyStyleEmpty( const ::oox::core::XmlFilterBase& rFilterBase, const css::uno::Reference < css::text::XText > & xText, diff --git a/oox/inc/drawingml/textparagraph.hxx b/oox/inc/drawingml/textparagraph.hxx index e5486a0d1afe..4ed70307d7c0 100644 --- a/oox/inc/drawingml/textparagraph.hxx +++ b/oox/inc/drawingml/textparagraph.hxx @@ -52,6 +52,10 @@ public: TextParagraphProperties& getProperties() { return maProperties; } const TextParagraphProperties& getProperties() const { return maProperties; } + /// Flags the textparagraph as having a pPr tag in it + void setHasProperties() { mbHasProperties = true; } + /// Returns whether the textparagraph had an pPr tag in it during import + bool hasProperties() const { return mbHasProperties; } TextCharacterProperties& getEndProperties() { return maEndProperties; } const TextCharacterProperties& getEndProperties() const { return maEndProperties; } @@ -86,6 +90,7 @@ public: private: TextParagraphProperties maProperties; + bool mbHasProperties; TextCharacterProperties maEndProperties; TextRunVector maRuns; // temporarily store this here diff --git a/oox/source/drawingml/textbody.cxx b/oox/source/drawingml/textbody.cxx index 78bb00c2acfa..9d420e67dee3 100644 --- a/oox/source/drawingml/textbody.cxx +++ b/oox/source/drawingml/textbody.cxx @@ -108,6 +108,16 @@ bool TextBody::hasVisualRunProperties() const return false; } +bool TextBody::hasParagraphProperties() const +{ + for ( auto& pTextParagraph : getParagraphs() ) + { + if ( pTextParagraph->hasProperties() ) + return true; + } + return false; +} + void TextBody::ApplyStyleEmpty( const ::oox::core::XmlFilterBase& rFilterBase, const Reference < XText > & xText, diff --git a/oox/source/drawingml/textbodycontext.cxx b/oox/source/drawingml/textbodycontext.cxx index f4c33f7253e0..60d8ea8a8af2 100644 --- a/oox/source/drawingml/textbodycontext.cxx +++ b/oox/source/drawingml/textbodycontext.cxx @@ -89,6 +89,7 @@ ContextHandlerRef TextParagraphContext::onCreateContext( sal_Int32 aElementToken } case A_TOKEN( pPr ): case W_TOKEN( pPr ): + mrParagraph.setHasProperties(); return new TextParagraphPropertiesContext( *this, rAttribs, mrParagraph.getProperties() ); case A_TOKEN( endParaRPr ): return new TextCharacterPropertiesContext( *this, rAttribs, mrParagraph.getEndProperties() ); diff --git a/oox/source/drawingml/textparagraph.cxx b/oox/source/drawingml/textparagraph.cxx index 0eaebfd4c9cb..d98fb7ebc0ff 100644 --- a/oox/source/drawingml/textparagraph.cxx +++ b/oox/source/drawingml/textparagraph.cxx @@ -38,6 +38,7 @@ using namespace ::com::sun::star::beans; namespace oox::drawingml { TextParagraph::TextParagraph() + : mbHasProperties( false ) { } |