From e98f19e598951a54561a7f414a209260b5e79a39 Mon Sep 17 00:00:00 2001 From: Balazs Varga Date: Tue, 18 Jun 2019 15:53:11 +0200 Subject: [PATCH] tdf#124817 OOXML chart import: fix missing symbols MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OOXML chart symbols with undefined fill color attribute were imported as invisible white symbols. Fixed by using line color of these symbols. Change-Id: Ie4314ed56b63daa82fe30b111aeae9e358ff2b4b Reviewed-on: https://gerrit.libreoffice.org/74286 Tested-by: Jenkins Reviewed-by: László Németh --- chart2/qa/extras/chart2import.cxx | 32 ++++++++++++++++++ chart2/qa/extras/data/xlsx/tdf124817.xlsx | Bin 0 -> 20868 bytes .../drawingml/chart/typegroupconverter.cxx | 10 +++++- 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 chart2/qa/extras/data/xlsx/tdf124817.xlsx diff --git a/chart2/qa/extras/chart2import.cxx b/chart2/qa/extras/chart2import.cxx index a55107b36318..803e99e773da 100644 --- a/chart2/qa/extras/chart2import.cxx +++ b/chart2/qa/extras/chart2import.cxx @@ -23,6 +23,8 @@ #include #include #include +#include +#include #include #include #include @@ -71,6 +73,7 @@ public: void testTdf106217(); void testTdf108021(); void testTdf100084(); + void testTdf124817(); void testAutoBackgroundXLSX(); void testAutoChartAreaBorderPropXLSX(); void testChartAreaStyleBackgroundXLSX(); @@ -163,6 +166,7 @@ public: CPPUNIT_TEST(testTdf106217); CPPUNIT_TEST(testTdf108021); CPPUNIT_TEST(testTdf100084); + CPPUNIT_TEST(testTdf124817); CPPUNIT_TEST(testAutoBackgroundXLSX); CPPUNIT_TEST(testAutoChartAreaBorderPropXLSX); CPPUNIT_TEST(testChartAreaStyleBackgroundXLSX); @@ -901,6 +905,34 @@ void Chart2ImportTest::testTdf100084() CPPUNIT_ASSERT_MESSAGE("There should be a Diagram.", xDiagram.is()); } +void Chart2ImportTest::testTdf124817() +{ + load("/chart2/qa/extras/data/xlsx/", "tdf124817.xlsx"); + Reference xChartDoc = getChartDocFromSheet(0, mxComponent); + CPPUNIT_ASSERT_MESSAGE("failed to load chart", xChartDoc.is()); + + uno::Reference xDataSeries; + chart2::Symbol aSymblProp; + + // Check the symbol of data series 1 (marker style none) + xDataSeries = getDataSeriesFromDoc(xChartDoc, 0); + CPPUNIT_ASSERT(xDataSeries.is()); + uno::Reference xPropSet_0(xDataSeries, uno::UNO_QUERY_THROW); + CPPUNIT_ASSERT((xPropSet_0->getPropertyValue("Symbol") >>= aSymblProp) && (aSymblProp.Style == chart2::SymbolStyle_NONE)); + + // Check the symbol of data series 2 (marker style square) + xDataSeries = getDataSeriesFromDoc(xChartDoc, 1); + CPPUNIT_ASSERT(xDataSeries.is()); + uno::Reference xPropSet_1(xDataSeries, uno::UNO_QUERY_THROW); + CPPUNIT_ASSERT((xPropSet_1->getPropertyValue("Symbol") >>= aSymblProp) && (aSymblProp.FillColor == static_cast(0xED7D31))); + + // Check the symbol of data series 3 (marker style diagonal cross) + xDataSeries = getDataSeriesFromDoc(xChartDoc, 2); + CPPUNIT_ASSERT(xDataSeries.is()); + uno::Reference xPropSet_2(xDataSeries, uno::UNO_QUERY_THROW); + CPPUNIT_ASSERT((xPropSet_2->getPropertyValue("Symbol") >>= aSymblProp) && (aSymblProp.BorderColor == static_cast(0xFF0000))); +} + void Chart2ImportTest::testTransparentBackground(OUString const & filename) { load("/chart2/qa/extras/data/xlsx/", filename); diff --git a/chart2/qa/extras/data/xlsx/tdf124817.xlsx b/chart2/qa/extras/data/xlsx/tdf124817.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..d9b09644e47ee836512a7a4f60260838d37003f0 GIT binary patch literal 20868 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 literal 0 HcmV?d00001 diff --git a/oox/source/drawingml/chart/typegroupconverter.cxx b/oox/source/drawingml/chart/typegroupconverter.cxx index bd592e6adbc5..35bb23a2ccf0 100644 --- a/oox/source/drawingml/chart/typegroupconverter.cxx +++ b/oox/source/drawingml/chart/typegroupconverter.cxx @@ -500,7 +500,15 @@ void TypeGroupConverter::convertMarker( PropertySet& rPropSet, sal_Int32 nOoxSym { Color aFillColor = xShapeProps->getFillProperties().maFillColor; aSymbol.FillColor = sal_Int32(aFillColor.getColor(getFilter().getGraphicHelper())); - rPropSet.setProperty(PROP_Color, aSymbol.FillColor); + // tdf#124817: if there is no fill color, use line color of the symbol + if( aSymbol.FillColor < 0 ) + { + Color aLineColor = xShapeProps->getLineProperties().maLineFill.maFillColor; + aSymbol.BorderColor = sal_Int32(aLineColor.getColor(getFilter().getGraphicHelper())); + rPropSet.setProperty(PROP_Color, aSymbol.BorderColor); + } + else + rPropSet.setProperty(PROP_Color, aSymbol.FillColor); } // set the property