From e4d3ad9fe640e71cf3bb4c969b75ebc17ce8e335 Mon Sep 17 00:00:00 2001 From: Balazs Varga Date: Tue, 15 Sep 2020 16:50:45 +0200 Subject: tdf#136650 DOCX pie chart import: fix percentage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Follow-up of commit e0da00d655ecca5986eea3812a8a670c6adbc40f (tdf#132174 Chart DOCX import: fix label number format). Change-Id: Ie0b2fe6305d7696de6dddc1f17d078fc2e749e4e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102753 Tested-by: László Németh Reviewed-by: László Németh --- oox/source/drawingml/chart/seriesconverter.cxx | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'oox/source') diff --git a/oox/source/drawingml/chart/seriesconverter.cxx b/oox/source/drawingml/chart/seriesconverter.cxx index b1b6019dfb40..007c76cf8e1f 100644 --- a/oox/source/drawingml/chart/seriesconverter.cxx +++ b/oox/source/drawingml/chart/seriesconverter.cxx @@ -108,8 +108,8 @@ void convertTextProperty(PropertySet& rPropSet, ObjectFormatter& rFormatter, } void lclConvertLabelFormatting( PropertySet& rPropSet, ObjectFormatter& rFormatter, - const DataLabelModelBase& rDataLabel, const TypeGroupConverter& rTypeGroup, - bool bDataSeriesLabel, bool bCustomLabelField, bool bMSO2007Doc ) + DataLabelModelBase& rDataLabel, const TypeGroupConverter& rTypeGroup, + bool bDataSeriesLabel, bool bCustomLabelField, bool bHasInternalData, bool bMSO2007Doc ) { const TypeGroupInfo& rTypeInfo = rTypeGroup.getTypeInfo(); @@ -134,6 +134,10 @@ void lclConvertLabelFormatting( PropertySet& rPropSet, ObjectFormatter& rFormatt bool bShowCateg = !rDataLabel.mbDeleted && rDataLabel.mobShowCatName.get( !bMSO2007Doc ); bool bShowSymbol = !rDataLabel.mbDeleted && rDataLabel.mobShowLegendKey.get( !bMSO2007Doc ); + // tdf#132174, tdf#136650: the inner data table has no own cell number format. + if( bHasInternalData && bShowValue && !bShowPercent ) + rDataLabel.maNumberFormat.mbSourceLinked = false; + // type of attached label if( bHasAnyElement || rDataLabel.mbDeleted ) { @@ -270,9 +274,12 @@ void DataLabelConverter::convertFromModel( const Reference< XDataSeries >& rxDat try { bool bMSO2007Doc = getFilter().isMSO2007Document(); - PropertySet aPropSet( rxDataSeries->getDataPointByIndex( mrModel.mnIndex ) ); + bool bHasInternalData = getChartDocument()->hasInternalDataProvider(); bool bCustomLabelField = mrModel.mxText && mrModel.mxText->mxTextBody && !mrModel.mxText->mxTextBody->getParagraphs().empty(); - lclConvertLabelFormatting( aPropSet, getFormatter(), mrModel, rTypeGroup, false, bCustomLabelField, bMSO2007Doc ); + PropertySet aPropSet( rxDataSeries->getDataPointByIndex( mrModel.mnIndex ) ); + + lclConvertLabelFormatting( aPropSet, getFormatter(), mrModel, rTypeGroup, false, bCustomLabelField, bHasInternalData, bMSO2007Doc ); + const TypeGroupInfo& rTypeInfo = rTypeGroup.getTypeInfo(); bool bIsPie = rTypeInfo.meTypeCategory == TYPECATEGORY_PIE; @@ -403,10 +410,9 @@ void DataLabelsConverter::convertFromModel( const Reference< XDataSeries >& rxDa if( !mrModel.mbDeleted ) { bool bMSO2007Doc = getFilter().isMSO2007Document(); - // tdf#132174: the inner data table has no own cell number format. - if( getChartDocument()->hasInternalDataProvider() && mrModel.mobShowVal.get(!bMSO2007Doc) ) - mrModel.maNumberFormat.mbSourceLinked = false; - lclConvertLabelFormatting( aPropSet, getFormatter(), mrModel, rTypeGroup, true, false, bMSO2007Doc ); + bool bHasInternalData = getChartDocument()->hasInternalDataProvider(); + + lclConvertLabelFormatting( aPropSet, getFormatter(), mrModel, rTypeGroup, true, false, bHasInternalData, bMSO2007Doc ); if (mrModel.mxShapeProp) { -- cgit >distro/collabora/libreoffice-4.0.6.2 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author