diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2015-04-04 03:50:50 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2015-04-04 04:15:23 +0200 |
commit | 78f4ed104c832b4aa1ae2d8d367f1db7de486065 (patch) | |
tree | 6ece84ab1289c7f89c8d7483b03e22b6f71d447d | |
parent | 4ca0ca862fcfb81a500b52f4ae6454d949d8681c (diff) |
correct xlsx element order, related tdf#59663
Change-Id: Iffb7a766f15475e3600332a6c76a15a1d192d7c8
-rw-r--r-- | sc/source/filter/excel/excdoc.cxx | 4 | ||||
-rw-r--r-- | sc/source/filter/excel/xepage.cxx | 7 | ||||
-rw-r--r-- | sc/source/filter/inc/xepage.hxx | 4 |
3 files changed, 14 insertions, 1 deletions
diff --git a/sc/source/filter/excel/excdoc.cxx b/sc/source/filter/excel/excdoc.cxx index 2582712fa616..c32262546ddd 100644 --- a/sc/source/filter/excel/excdoc.cxx +++ b/sc/source/filter/excel/excdoc.cxx @@ -673,6 +673,10 @@ void ExcTable::FillAsTableXml() // all MSODRAWING and OBJ stuff of this sheet goes here aRecList.AppendRecord( GetObjectManager().ProcessDrawing( GetSdrPage( mnScTab ) ) ); + XclExpImgData* pImgData = xPageSett->getGraphicExport(); + if (pImgData) + aRecList.AppendRecord(std::shared_ptr<XclExpRecordBase>(pImgData)); + aRecList.AppendRecord( xExtLst ); } diff --git a/sc/source/filter/excel/xepage.cxx b/sc/source/filter/excel/xepage.cxx index d3520254ab1c..a68f0218d12e 100644 --- a/sc/source/filter/excel/xepage.cxx +++ b/sc/source/filter/excel/xepage.cxx @@ -405,9 +405,14 @@ void XclExpPageSettings::SaveXml( XclExpXmlStream& rStrm ) static_cast< sal_uInt16 >( GetXclMaxPos().Col() ) ).SaveXml( rStrm ); XclExpPageBreaks( EXC_ID_VERPAGEBREAKS, maData.maVerPageBreaks, static_cast< sal_uInt16 >( GetXclMaxPos().Row() ) ).SaveXml( rStrm ); +} +XclExpImgData* XclExpPageSettings::getGraphicExport() +{ if( const Graphic* pGraphic = maData.mxBrushItem->GetGraphic() ) - XclExpImgData( *pGraphic, EXC_ID8_IMGDATA ).SaveXml( rStrm ); + return new XclExpImgData( *pGraphic, EXC_ID8_IMGDATA ); + + return NULL; } XclExpChartPageSettings::XclExpChartPageSettings( const XclExpRoot& rRoot ) : diff --git a/sc/source/filter/inc/xepage.hxx b/sc/source/filter/inc/xepage.hxx index 2df9be95a7c2..ea1d82ce8852 100644 --- a/sc/source/filter/inc/xepage.hxx +++ b/sc/source/filter/inc/xepage.hxx @@ -24,6 +24,8 @@ #include "xlpage.hxx" #include "xeroot.hxx" +class XclExpImgData; + // Page settings records ====================================================== // Header/footer -------------------------------------------------------------- @@ -100,6 +102,8 @@ public: virtual void Save( XclExpStream& rStrm ) SAL_OVERRIDE; virtual void SaveXml( XclExpXmlStream& rStrm ) SAL_OVERRIDE; + XclExpImgData* getGraphicExport(); + private: XclPageData maData; /// Page settings data. }; |