diff options
author | Noel Power <noel.power@suse.com> | 2013-06-21 15:46:08 +0100 |
---|---|---|
committer | Noel Power <noel.power@suse.com> | 2013-06-24 13:02:56 +0100 |
commit | b8b4f455ef20929a0c5838772d120ed86f10e259 (patch) | |
tree | fc275714202787aedaf3a2d86337f7b001d716fe | |
parent | 442ad6eef9d6e1588e4985e97ec3eafd6289f9ae (diff) |
write display attr of hyperlink only if value is different from stringtable
Change-Id: Iff6f16d6cdb539ad80ef01e91db51613e95053d1
-rw-r--r-- | sc/source/filter/excel/xecontent.cxx | 8 | ||||
-rw-r--r-- | sc/source/filter/inc/xecontent.hxx | 3 |
2 files changed, 8 insertions, 3 deletions
diff --git a/sc/source/filter/excel/xecontent.cxx b/sc/source/filter/excel/xecontent.cxx index 5a46ad52cd07..36cd3835feac 100644 --- a/sc/source/filter/excel/xecontent.cxx +++ b/sc/source/filter/excel/xecontent.cxx @@ -335,7 +335,8 @@ XclExpHyperlink::XclExpHyperlink( const XclExpRoot& rRoot, const SvxURLField& rU XclExpRecord( EXC_ID_HLINK ), maScPos( rScPos ), mxVarData( new SvMemoryStream ), - mnFlags( 0 ) + mnFlags( 0 ), + mbSetDisplay( true ) { const String& rUrl = rUrlField.GetURL(); const String& rRepr = rUrlField.GetRepresentation(); @@ -498,6 +499,7 @@ void XclExpHyperlink::WriteEmbeddedData( XclExpStream& rStrm ) void XclExpHyperlink::SaveXml( XclExpXmlStream& rStrm ) { + OString sTmp = XclXmlUtils::ToOString( maScPos ); OUString sId = !msTarget.isEmpty() ? rStrm.addRelation( rStrm.GetCurrentStream()->getOutputStream(), XclXmlUtils::ToOUString( "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" ), msTarget, true ) : OUString(); @@ -510,7 +512,9 @@ void XclExpHyperlink::SaveXml( XclExpXmlStream& rStrm ) ? XclXmlUtils::ToOString( *mxTextMark ).getStr() : NULL, // OOXTODO: XML_tooltip, from record HLinkTooltip 800h wzTooltip - XML_display, XclXmlUtils::ToOString( *mxRepr ).getStr(), + XML_display, mbSetDisplay + ? XclXmlUtils::ToOString( *mxRepr ).getStr() + : NULL, FSEND ); } diff --git a/sc/source/filter/inc/xecontent.hxx b/sc/source/filter/inc/xecontent.hxx index 1328a403de61..cf746de77fd4 100644 --- a/sc/source/filter/inc/xecontent.hxx +++ b/sc/source/filter/inc/xecontent.hxx @@ -109,6 +109,7 @@ public: virtual void SaveXml( XclExpXmlStream& rStrm ); virtual void WriteEmbeddedData( XclExpStream& rStrm ); + void SetDisplay( bool bDisplay ) { mbSetDisplay = bDisplay; } private: /** Builds file name from the passed file URL. Tries to convert to relative file name. @param rnLevel (out-param) The parent directory level. @@ -119,7 +120,6 @@ private: /** Writes the body of the HLINK record. */ virtual void WriteBody( XclExpStream& rStrm ); - private: typedef boost::scoped_ptr< String > StringPtr; typedef boost::scoped_ptr< SvStream > SvStreamPtr; @@ -130,6 +130,7 @@ private: sal_uInt32 mnFlags; /// Option flags. XclExpStringRef mxTextMark; /// Location within mxRepr ::rtl::OUString msTarget; /// Target URL + bool mbSetDisplay; /// True if display attribute it written }; typedef XclExpRecordList< XclExpHyperlink > XclExpHyperlinkList; |