chart2/qa/extras/chart2import.cxx | 22 ++++++++++++++++++++++ chart2/qa/extras/data/docx/tdf133632.docx |binary oox/source/drawingml/chart/seriesconverter.cxx | 2 +- 3 files changed, 23 insertions(+), 1 deletion(-)
New commits: commit 70b4f0358a9c67b851d8c68b26f2cdc8750c0b92 Author: Balazs Varga <[email protected]> AuthorDate: Thu Jun 4 11:33:06 2020 +0200 Commit: Gabor Kelemen <[email protected]> CommitDate: Sun Jul 26 12:30:38 2020 +0200 tdf#133632 Chart DOCX Import: fix percentage number format Set the LinkNumberFormatToSource to false only if we have an inner data table and the labels are shown as values. Regression from commit: e0da00d655ecca5986eea3812a8a670c6adbc40f (tdf#132174 Chart DOCX import: fix label number format) Change-Id: I879c5d81709995bfa49c18e0c84aaf6dc3dea41c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95493 Tested-by: Jenkins Reviewed-by: László Németh <[email protected]> (cherry picked from commit 53eeb419836f31bc4e16a2276a7ef875bea4ff97) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95984 Reviewed-by: Xisco Fauli <[email protected]> (cherry picked from commit 8da86149f3b7a04fb3a442e6f8733ba463945a57) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99304 Tested-by: Gabor Kelemen <[email protected]> Reviewed-by: Gabor Kelemen <[email protected]> diff --git a/chart2/qa/extras/chart2import.cxx b/chart2/qa/extras/chart2import.cxx index a2b77a851002..d81a1cacd3d1 100644 --- a/chart2/qa/extras/chart2import.cxx +++ b/chart2/qa/extras/chart2import.cxx @@ -89,6 +89,7 @@ public: void testTextBreakXLSX(); void testNumberFormatsXLSX(); void testNumberFormatsDOCX(); + void testPercentageNumberFormatsDOCX(); void testTransparentBackground(OUString const & filename); @@ -202,6 +203,7 @@ public: CPPUNIT_TEST(testTextBreakXLSX); CPPUNIT_TEST(testNumberFormatsXLSX); CPPUNIT_TEST(testNumberFormatsDOCX); + CPPUNIT_TEST(testPercentageNumberFormatsDOCX); CPPUNIT_TEST(testAutoTitleDelDefaultValue2007XLSX); CPPUNIT_TEST(testAutoTitleDelDefaultValue2013XLSX); CPPUNIT_TEST(testDispBlanksAsDefaultValue2007XLSX); @@ -1291,6 +1293,26 @@ void Chart2ImportTest::testNumberFormatsDOCX() CPPUNIT_ASSERT_MESSAGE("\"LinkNumberFormatToSource\" should be set to false.", !bLinkNumberFormatToSource); } +void Chart2ImportTest::testPercentageNumberFormatsDOCX() +{ + load("/chart2/qa/extras/data/docx/", "tdf133632.docx"); + uno::Reference< chart2::XChartDocument > xChartDoc(getChartDocFromWriter(0), uno::UNO_QUERY); + CPPUNIT_ASSERT(xChartDoc.is()); + + css::uno::Reference<chart2::XDiagram> xDiagram(xChartDoc->getFirstDiagram(), UNO_SET_THROW); + Reference<chart2::XDataSeries> xDataSeries = getDataSeriesFromDoc(xChartDoc, 0); + uno::Reference<beans::XPropertySet> xPropertySet(xDataSeries, uno::UNO_QUERY_THROW); + CPPUNIT_ASSERT(xPropertySet.is()); + + bool bLinkNumberFormatToSource = false; + chart2::DataPointLabel aLabel; + xPropertySet->getPropertyValue("Label") >>= aLabel; + CPPUNIT_ASSERT_EQUAL(sal_False, aLabel.ShowNumber); + CPPUNIT_ASSERT_EQUAL(sal_True, aLabel.ShowNumberInPercent); + bool bSuccess = xPropertySet->getPropertyValue(CHART_UNONAME_LINK_TO_SRC_NUMFMT) >>= bLinkNumberFormatToSource; + CPPUNIT_ASSERT_MESSAGE("\"LinkNumberFormatToSource\" should be set to true.", bSuccess && bLinkNumberFormatToSource); +} + void Chart2ImportTest::testAutoTitleDelDefaultValue2007XLSX() { load("/chart2/qa/extras/data/xlsx/", "autotitledel_2007.xlsx"); diff --git a/chart2/qa/extras/data/docx/tdf133632.docx b/chart2/qa/extras/data/docx/tdf133632.docx new file mode 100644 index 000000000000..b970e73f4c2f Binary files /dev/null and b/chart2/qa/extras/data/docx/tdf133632.docx differ diff --git a/oox/source/drawingml/chart/seriesconverter.cxx b/oox/source/drawingml/chart/seriesconverter.cxx index 02479b80ec46..2acf265847dc 100644 --- a/oox/source/drawingml/chart/seriesconverter.cxx +++ b/oox/source/drawingml/chart/seriesconverter.cxx @@ -373,7 +373,7 @@ void DataLabelsConverter::convertFromModel( const Reference< XDataSeries >& rxDa { bool bMSO2007Doc = getFilter().isMSO2007Document(); // tdf#132174: the inner data table has no own cell number format. - if( getChartDocument()->hasInternalDataProvider() ) + if( getChartDocument()->hasInternalDataProvider() && mrModel.mobShowVal.get(!bMSO2007Doc) ) mrModel.maNumberFormat.mbSourceLinked = false; lclConvertLabelFormatting( aPropSet, getFormatter(), mrModel, rTypeGroup, true, bMSO2007Doc ); _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
