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-20 22:54:34 +0200
commit0fc41c53dfbd21e526fb0ad68a6651693c4a2ecd (patch)
treec27817a8188121ac7aea5273e8b2517e80c46d56
parent842af5109646f0b2555c4cb48d79bb999ee6efff (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/57762 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
-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();
}