diff options
author | Ivo Hinkelmann <ihi@openoffice.org> | 2007-04-16 12:11:31 +0000 |
---|---|---|
committer | Ivo Hinkelmann <ihi@openoffice.org> | 2007-04-16 12:11:31 +0000 |
commit | 615b3824b258d09e24d92b0135827e03bfd97da7 (patch) | |
tree | 0685a8ff93e160b708238cae92ecc524d22688e2 /xmloff/source/draw/shapeexport2.cxx | |
parent | 000f7518f1b415b75beb5658f96aa1a4e23701d1 (diff) |
INTEGRATION: CWS impressrng01_SRC680 (1.57.56); FILE MERGED
2007/03/30 15:23:24 cl 1.57.56.2: fixed linux compile issue
2007/03/28 13:36:00 cl 1.57.56.1: #i42375# export empty href for placeholder ole-object and image
Diffstat (limited to 'xmloff/source/draw/shapeexport2.cxx')
-rw-r--r-- | xmloff/source/draw/shapeexport2.cxx | 79 |
1 files changed, 50 insertions, 29 deletions
diff --git a/xmloff/source/draw/shapeexport2.cxx b/xmloff/source/draw/shapeexport2.cxx index 385272529ab5..e0973d59d9cc 100644 --- a/xmloff/source/draw/shapeexport2.cxx +++ b/xmloff/source/draw/shapeexport2.cxx @@ -4,9 +4,9 @@ * * $RCSfile: shapeexport2.cxx,v $ * - * $Revision: 1.57 $ + * $Revision: 1.58 $ * - * last change: $Author: ihi $ $Date: 2006-12-19 17:26:11 $ + * last change: $Author: ihi $ $Date: 2007-04-16 13:11:31 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -1190,46 +1190,55 @@ void XMLShapeExport::ImpExportGraphicObjectShape( SvXMLElementExport aElem( mrExport, XML_NAMESPACE_DRAW, XML_FRAME, bCreateNewline, sal_True ); - if( !bIsEmptyPresObj ) + if( !bIsEmptyPresObj || !mrExport.isExperimentalOdfExportEnabled() ) { - OUString aStreamURL; - OUString aStr; + if( !bIsEmptyPresObj ) + { + OUString aStreamURL; + OUString aStr; - xPropSet->getPropertyValue( OUString(RTL_CONSTASCII_USTRINGPARAM("GraphicURL"))) >>= sImageURL; - aStr = mrExport.AddEmbeddedGraphicObject( sImageURL ); - mrExport.AddAttribute(XML_NAMESPACE_XLINK, XML_HREF, aStr ); + xPropSet->getPropertyValue( OUString(RTL_CONSTASCII_USTRINGPARAM("GraphicURL"))) >>= sImageURL; + aStr = mrExport.AddEmbeddedGraphicObject( sImageURL ); + mrExport.AddAttribute(XML_NAMESPACE_XLINK, XML_HREF, aStr ); - if( aStr.getLength() ) - { - if( aStr[ 0 ] == '#' ) + if( aStr.getLength() ) { - aStreamURL = OUString::createFromAscii( "vnd.sun.star.Package:" ); - aStreamURL = aStreamURL.concat( aStr.copy( 1, aStr.getLength() - 1 ) ); - } + if( aStr[ 0 ] == '#' ) + { + aStreamURL = OUString::createFromAscii( "vnd.sun.star.Package:" ); + aStreamURL = aStreamURL.concat( aStr.copy( 1, aStr.getLength() - 1 ) ); + } - // update stream URL for load on demand - uno::Any aAny; - aAny <<= aStreamURL; - xPropSet->setPropertyValue( OUString(RTL_CONSTASCII_USTRINGPARAM("GraphicStreamURL")), aAny ); + // update stream URL for load on demand + uno::Any aAny; + aAny <<= aStreamURL; + xPropSet->setPropertyValue( OUString(RTL_CONSTASCII_USTRINGPARAM("GraphicStreamURL")), aAny ); + mrExport.AddAttribute(XML_NAMESPACE_XLINK, XML_TYPE, XML_SIMPLE ); + mrExport.AddAttribute(XML_NAMESPACE_XLINK, XML_SHOW, XML_EMBED ); + mrExport.AddAttribute(XML_NAMESPACE_XLINK, XML_ACTUATE, XML_ONLOAD ); + } + } + else + { + OUString aStr; + mrExport.AddAttribute(XML_NAMESPACE_XLINK, XML_HREF, aStr ); mrExport.AddAttribute(XML_NAMESPACE_XLINK, XML_TYPE, XML_SIMPLE ); - mrExport.AddAttribute(XML_NAMESPACE_XLINK, XML_SHOW, XML_EMBED ); - mrExport.AddAttribute(XML_NAMESPACE_XLINK, XML_ACTUATE, XML_ONLOAD ); } - } - - { - SvXMLElementExport aOBJ(mrExport, XML_NAMESPACE_DRAW, XML_IMAGE, sal_True, sal_True); - if( sImageURL.getLength() ) { - // optional office:binary-data - mrExport.AddEmbeddedGraphicObjectAsBase64( sImageURL ); + SvXMLElementExport aOBJ(mrExport, XML_NAMESPACE_DRAW, XML_IMAGE, sal_True, sal_True); + + if( sImageURL.getLength() ) + { + // optional office:binary-data + mrExport.AddEmbeddedGraphicObjectAsBase64( sImageURL ); + } + if( !bIsEmptyPresObj ) + ImpExportText( xShape ); } - if( !bIsEmptyPresObj ) - ImpExportText( xShape ); } ImpExportEvents( xShape ); @@ -1616,6 +1625,7 @@ void XMLShapeExport::ImpExportOLE2Shape( SvXMLElementExport aElement( mrExport, XML_NAMESPACE_DRAW, XML_FRAME, bCreateNewline, sal_True ); + if( !bIsEmptyPresObj || !mrExport.isExperimentalOdfExportEnabled() ) { if (pAttrList) { @@ -1669,6 +1679,17 @@ void XMLShapeExport::ImpExportOLE2Shape( } } } + else + { + // export empty href for empty placeholders to be valid odf + OUString sEmptyURL; + + mrExport.AddAttribute(XML_NAMESPACE_XLINK, XML_HREF, sEmptyURL ); + mrExport.AddAttribute( XML_NAMESPACE_XLINK, XML_TYPE, XML_SIMPLE ); + mrExport.AddAttribute( XML_NAMESPACE_XLINK, XML_SHOW, XML_EMBED ); + mrExport.AddAttribute( XML_NAMESPACE_XLINK, XML_ACTUATE, XML_ONLOAD ); + } + enum XMLTokenEnum eElem = sClassId.getLength() ? XML_OBJECT_OLE : XML_OBJECT; SvXMLElementExport aElem( mrExport, XML_NAMESPACE_DRAW, eElem, sal_True, sal_True ); |