diff options
author | Bartosz Kosiorek <gang65@poczta.onet.pl> | 2018-07-20 20:59:01 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2018-07-21 23:29:18 +0200 |
commit | 2466ea26c4bef1e002a24f6845084633e5a058c4 (patch) | |
tree | cf39ff1c5e6bc1a7cafe8656b25af112c8267f6d | |
parent | 04b53321ca56844521787563914fad21513fd58d (diff) |
tdf#118150 Fix displaying of chart where Legend is set manually
By default Legend's position is automatic and it is located
at the right side of the chart.
Unfortunately even if layout with manualLayout is set:
http://www.datypic.com/sc/ooxml/e-draw-chart_manualLayout-1.html
the empty space for the automatic legend on the right side of the chart,
was left.
This is issue with opening of the OOXML charts by LibreOffice,
as MS Word is opening the same document properly.
This patch fixes issue with wrong chart displaying, when manual position
of the legend is set.
Change-Id: Id5363d48b049c469b6761b43cecfbb56514bf7d8
Reviewed-on: https://gerrit.libreoffice.org/57787
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Jenkins
-rw-r--r-- | oox/source/drawingml/chart/titleconverter.cxx | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/oox/source/drawingml/chart/titleconverter.cxx b/oox/source/drawingml/chart/titleconverter.cxx index 690858e290de..daa1f2d8cb57 100644 --- a/oox/source/drawingml/chart/titleconverter.cxx +++ b/oox/source/drawingml/chart/titleconverter.cxx @@ -213,14 +213,13 @@ void LegendConverter::convertFromModel( const Reference< XDiagram >& rxDiagram ) case XML_r: eLegendPos = cssc2::LegendPosition_LINE_END; eLegendExpand = cssc::ChartLegendExpansion_HIGH; - break; + break; case XML_tr: // top-right not supported eLegendPos = LegendPosition_CUSTOM; eRelPos.Primary = 1; eRelPos.Secondary =0; eRelPos.Anchor = Alignment_TOP_RIGHT; bTopRight=true; - break; case XML_t: eLegendPos = cssc2::LegendPosition_PAGE_START; @@ -236,9 +235,12 @@ void LegendConverter::convertFromModel( const Reference< XDiagram >& rxDiagram ) if( mrModel.mxLayout.get() ) { LayoutConverter aLayoutConv( *this, *mrModel.mxLayout ); - // manual size needs ChartLegendExpansion_CUSTOM + // manual size needs ChartLegendExpansion_CUSTOM and LegendPosition_CUSTOM (tdf#118150) if( aLayoutConv.convertFromModel( aPropSet ) ) + { + eLegendPos = cssc2::LegendPosition_CUSTOM; eLegendExpand = cssc::ChartLegendExpansion_CUSTOM; + } bManualLayout = !aLayoutConv.getAutoLayout(); } |