diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2021-04-22 14:10:57 +0200 |
---|---|---|
committer | Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> | 2021-04-28 13:48:22 +0200 |
commit | caf67b938e60768eb9b93cccd49dbeac5ac43afb (patch) | |
tree | 1e7d4f3c91957d2488adb3c9f62823f634efde96 | |
parent | tdf#137470 use a more proper URL for the extensions (diff) | |
download | core-caf67b938e60768eb9b93cccd49dbeac5ac43afb.tar.gz core-caf67b938e60768eb9b93cccd49dbeac5ac43afb.zip |
tdf#132472: do not set text color when table style is 'Themed-Style-2'
and it has no Accent
Regression from 2c3f7d4ee0a0b2bf6efc41670645bd361f1b76ef
< tdf#107604 Handle predefined table styles. >
Change-Id: Id9ab5b20825e2eaf8cc138c108608fe446f33db4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114477
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
(cherry picked from commit 54f7c32beca5a9c99d7316dc38818edad55f7415)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114497
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 62cbb4b7694893a39de41cebd5f785122b154961)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114600
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
-rw-r--r-- | oox/source/drawingml/table/predefined-table-styles.cxx | 6 | ||||
-rw-r--r-- | sd/qa/unit/data/pptx/tdf132472.pptx | bin | 0 -> 33439 bytes | |||
-rw-r--r-- | sd/qa/unit/export-tests-ooxml2.cxx | 31 |
3 files changed, 34 insertions, 3 deletions
diff --git a/oox/source/drawingml/table/predefined-table-styles.cxx b/oox/source/drawingml/table/predefined-table-styles.cxx index 4a8aec4cef1a..ea68911112a0 100644 --- a/oox/source/drawingml/table/predefined-table-styles.cxx +++ b/oox/source/drawingml/table/predefined-table-styles.cxx @@ -516,11 +516,11 @@ std::unique_ptr<TableStyle> CreateTableStyle(const OUString& styleId) } else if (style_name == "Themed-Style-2") { - wholeTblTextColor.setSchemeClr(XML_lt1); - firstRowTextColor.setSchemeClr(XML_lt1); - if (!accent_name.isEmpty()) { + wholeTblTextColor.setSchemeClr(XML_lt1); + firstRowTextColor.setSchemeClr(XML_lt1); + accent_val = tokens[mStyleIdMap[styleId].second]; pTblBgFillProperties->maFillColor.setSchemeClr(accent_val); diff --git a/sd/qa/unit/data/pptx/tdf132472.pptx b/sd/qa/unit/data/pptx/tdf132472.pptx Binary files differnew file mode 100644 index 000000000000..e7873dcd5090 --- /dev/null +++ b/sd/qa/unit/data/pptx/tdf132472.pptx diff --git a/sd/qa/unit/export-tests-ooxml2.cxx b/sd/qa/unit/export-tests-ooxml2.cxx index 4c7dc3d0eb42..14f4586a527c 100644 --- a/sd/qa/unit/export-tests-ooxml2.cxx +++ b/sd/qa/unit/export-tests-ooxml2.cxx @@ -95,6 +95,7 @@ public: void testTdf123090(); void testTdf126324(); void testTdf119187(); + void testTdf132472(); void testTdf80224(); void testExportTransitionsPPTX(); void testPresetShapesExport(); @@ -217,6 +218,7 @@ public: CPPUNIT_TEST(testTdf123090); CPPUNIT_TEST(testTdf126324); CPPUNIT_TEST(testTdf119187); + CPPUNIT_TEST(testTdf132472); CPPUNIT_TEST(testTdf80224); CPPUNIT_TEST(testExportTransitionsPPTX); CPPUNIT_TEST(testPresetShapesExport); @@ -608,6 +610,35 @@ void SdOOXMLExportTest2::testTdf119187() } } +void SdOOXMLExportTest2::testTdf132472() +{ + sd::DrawDocShellRef xDocShRef = loadURL( m_directories.getURLFromSrc(u"/sd/qa/unit/data/pptx/tdf132472.pptx"), PPTX ); + const SdrPage *pPage = GetPage( 1, xDocShRef ); + + sdr::table::SdrTableObj *pTableObj = dynamic_cast<sdr::table::SdrTableObj*>(pPage->GetObj(0)); + CPPUNIT_ASSERT( pTableObj ); + + uno::Reference< table::XCellRange > xTable(pTableObj->getTable(), uno::UNO_QUERY_THROW); + uno::Reference< beans::XPropertySet > xCell; + Color nColor; + + xCell.set(xTable->getCellByPosition(0, 0), uno::UNO_QUERY_THROW); + xCell->getPropertyValue("FillColor") >>= nColor; + CPPUNIT_ASSERT_EQUAL(Color(0x729fcf), nColor); + + uno::Reference<text::XTextRange> xParagraph(getParagraphFromShape(0, xCell)); + uno::Reference<text::XTextRange> xRun(getRunFromParagraph(0, xParagraph)); + uno::Reference<beans::XPropertySet> xPropSet(xRun, uno::UNO_QUERY); + xPropSet->getPropertyValue("CharColor") >>= nColor; + + // Without the fix in place, this test would have failed with + // - Expected: Color: R:0 G:0 B:0 A:0 + // - Actual : Color: R:255 G:255 B:255 A:0 + CPPUNIT_ASSERT_EQUAL(COL_BLACK, nColor); + + xDocShRef->DoClose(); +} + void SdOOXMLExportTest2::testTdf80224() { ::sd::DrawDocShellRef xDocShRef = loadURL( m_directories.getURLFromSrc("/sd/qa/unit/data/odp/tdf80224.odp"), ODP); |