xmloff/source/text/txtparae.cxx | 64 +++++++++++++--------------------------- 1 file changed, 22 insertions(+), 42 deletions(-)
New commits: commit 454e182898cdf9c8a9ce1b575591910bbff3a762 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Tue Jul 12 11:22:25 2022 +0300 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Wed Jul 13 09:54:03 2022 +0200 Simplify XMLTextParagraphExport::addHyperlinkAttributes Change-Id: I283fc348d1ecaee92095f50c6f7d92fff8b09dce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136994 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/xmloff/source/text/txtparae.cxx b/xmloff/source/text/txtparae.cxx index 63232f8b2822..5b2cb233dd38 100644 --- a/xmloff/source/text/txtparae.cxx +++ b/xmloff/source/text/txtparae.cxx @@ -3369,18 +3369,13 @@ bool XMLTextParagraphExport::addHyperlinkAttributes( const Reference< XPropertyState > & rPropState, const Reference< XPropertySetInfo > & rPropSetInfo ) { - bool bExport = false; - OUString sHRef, sName, sTargetFrame, sUStyleName, sVStyleName; - bool bServerMap = false; + OUString sHRef; if( rPropSetInfo->hasPropertyByName( gsHyperLinkURL ) && ( !rPropState.is() || PropertyState_DIRECT_VALUE == rPropState->getPropertyState( gsHyperLinkURL ) ) ) { rPropSet->getPropertyValue( gsHyperLinkURL ) >>= sHRef; - - if( !sHRef.isEmpty() ) - bExport = true; } if ( sHRef.isEmpty() ) @@ -3390,81 +3385,66 @@ bool XMLTextParagraphExport::addHyperlinkAttributes( return false; } + GetExport().AddAttribute(XML_NAMESPACE_XLINK, XML_TYPE, XML_SIMPLE); + GetExport().AddAttribute(XML_NAMESPACE_XLINK, XML_HREF, + GetExport().GetRelativeReference(sHRef)); + if ( rPropSetInfo->hasPropertyByName( gsHyperLinkName ) && ( !rPropState.is() || PropertyState_DIRECT_VALUE == rPropState->getPropertyState( gsHyperLinkName ) ) ) { + OUString sName; rPropSet->getPropertyValue( gsHyperLinkName ) >>= sName; if( !sName.isEmpty() ) - bExport = true; + GetExport().AddAttribute(XML_NAMESPACE_OFFICE, XML_NAME, sName); } if ( rPropSetInfo->hasPropertyByName( gsHyperLinkTarget ) && ( !rPropState.is() || PropertyState_DIRECT_VALUE == rPropState->getPropertyState( gsHyperLinkTarget ) ) ) { + OUString sTargetFrame; rPropSet->getPropertyValue( gsHyperLinkTarget ) >>= sTargetFrame; if( !sTargetFrame.isEmpty() ) - bExport = true; + { + GetExport().AddAttribute(XML_NAMESPACE_OFFICE, XML_TARGET_FRAME_NAME, sTargetFrame); + enum XMLTokenEnum eTok = sTargetFrame == "_blank" ? XML_NEW : XML_REPLACE; + GetExport().AddAttribute(XML_NAMESPACE_XLINK, XML_SHOW, eTok); + } } if ( rPropSetInfo->hasPropertyByName( gsServerMap ) && ( !rPropState.is() || PropertyState_DIRECT_VALUE == rPropState->getPropertyState( gsServerMap ) ) ) { - bServerMap = *o3tl::doAccess<bool>(rPropSet->getPropertyValue( gsServerMap )); + bool bServerMap = *o3tl::doAccess<bool>(rPropSet->getPropertyValue( gsServerMap )); if ( bServerMap ) - bExport = true; + GetExport().AddAttribute(XML_NAMESPACE_OFFICE, XML_SERVER_MAP, XML_TRUE); } if ( rPropSetInfo->hasPropertyByName( gsUnvisitedCharStyleName ) && ( !rPropState.is() || PropertyState_DIRECT_VALUE == rPropState->getPropertyState( gsUnvisitedCharStyleName ) ) ) { + OUString sUStyleName; rPropSet->getPropertyValue( gsUnvisitedCharStyleName ) >>= sUStyleName; if( !sUStyleName.isEmpty() ) - bExport = true; + GetExport().AddAttribute(XML_NAMESPACE_TEXT, XML_STYLE_NAME, + GetExport().EncodeStyleName(sUStyleName)); } if ( rPropSetInfo->hasPropertyByName( gsVisitedCharStyleName ) && ( !rPropState.is() || PropertyState_DIRECT_VALUE == rPropState->getPropertyState( gsVisitedCharStyleName ) ) ) { + OUString sVStyleName; rPropSet->getPropertyValue( gsVisitedCharStyleName ) >>= sVStyleName; if( !sVStyleName.isEmpty() ) - bExport = true; - } - - if ( bExport ) - { - GetExport().AddAttribute( XML_NAMESPACE_XLINK, XML_TYPE, XML_SIMPLE ); - GetExport().AddAttribute( XML_NAMESPACE_XLINK, XML_HREF, GetExport().GetRelativeReference( sHRef ) ); - - if( !sName.isEmpty() ) - GetExport().AddAttribute( XML_NAMESPACE_OFFICE, XML_NAME, sName ); - - if( !sTargetFrame.isEmpty() ) - { - GetExport().AddAttribute( XML_NAMESPACE_OFFICE, - XML_TARGET_FRAME_NAME, sTargetFrame ); - enum XMLTokenEnum eTok = sTargetFrame == "_blank" ? XML_NEW : XML_REPLACE; - GetExport().AddAttribute( XML_NAMESPACE_XLINK, XML_SHOW, eTok ); - } - - if( bServerMap ) - GetExport().AddAttribute( XML_NAMESPACE_OFFICE, - XML_SERVER_MAP, XML_TRUE ); - - if( !sUStyleName.isEmpty() ) - GetExport().AddAttribute( XML_NAMESPACE_TEXT, - XML_STYLE_NAME, GetExport().EncodeStyleName( sUStyleName ) ); - - if( !sVStyleName.isEmpty() ) - GetExport().AddAttribute( XML_NAMESPACE_TEXT, - XML_VISITED_STYLE_NAME, GetExport().EncodeStyleName( sVStyleName ) ); + GetExport().AddAttribute(XML_NAMESPACE_TEXT, XML_VISITED_STYLE_NAME, + GetExport().EncodeStyleName(sVStyleName)); } - return bExport; + return true; } void XMLTextParagraphExport::exportTextRangeSpan(