summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Power <noel.power@suse.com>2013-06-21 15:46:08 +0100
committerNoel Power <noel.power@suse.com>2013-06-24 13:02:56 +0100
commitb8b4f455ef20929a0c5838772d120ed86f10e259 (patch)
treefc275714202787aedaf3a2d86337f7b001d716fe
parent442ad6eef9d6e1588e4985e97ec3eafd6289f9ae (diff)
write display attr of hyperlink only if value is different from stringtable
Change-Id: Iff6f16d6cdb539ad80ef01e91db51613e95053d1
-rw-r--r--sc/source/filter/excel/xecontent.cxx8
-rw-r--r--sc/source/filter/inc/xecontent.hxx3
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;