summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Kosiorek <gang65@poczta.onet.pl>2018-07-20 20:59:01 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2018-07-21 23:29:18 +0200
commit2466ea26c4bef1e002a24f6845084633e5a058c4 (patch)
treecf39ff1c5e6bc1a7cafe8656b25af112c8267f6d
parent04b53321ca56844521787563914fad21513fd58d (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.cxx8
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();
}