oox/qa/unit/drawingml.cxx | 18 +++++++++++------- oox/source/drawingml/fillproperties.cxx | 2 +- writerfilter/source/dmapper/TDefTableHandler.cxx | 8 ++++---- 3 files changed, 16 insertions(+), 12 deletions(-)
New commits: commit 3ea5ee97bf0829fa76202bf8f2950e015efcdccc Author: Tomaž Vajngerl <[email protected]> AuthorDate: Fri Jan 6 00:08:17 2023 +0900 Commit: Tomaž Vajngerl <[email protected]> CommitDate: Tue Jan 17 06:35:18 2023 +0000 oox: also allow tint and shade for fill color This was an obsolete limitation that is not needed anymore. Change-Id: Ie9610516996fc16197f8611843ff621b8a83ebdc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145084 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <[email protected]> (cherry picked from commit 79ad3e73907d15c4e234e2a32de8173273f5ac16) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145650 Tested-by: Jenkins CollaboraOffice <[email protected]> diff --git a/oox/qa/unit/drawingml.cxx b/oox/qa/unit/drawingml.cxx index 1394f4e6fb17..077ad261e620 100644 --- a/oox/qa/unit/drawingml.cxx +++ b/oox/qa/unit/drawingml.cxx @@ -533,8 +533,11 @@ CPPUNIT_TEST_FIXTURE(OoxDrawingmlTest, testThemeTint) CPPUNIT_ASSERT(xThemeColor.is()); model::ThemeColor aThemeColor; model::theme::setFromXThemeColor(aThemeColor, xThemeColor); - // This is OK, no problematic effects: CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, aThemeColor.getType()); + { + auto const& rTrans = aThemeColor.getTransformations(); + CPPUNIT_ASSERT_EQUAL(size_t(0), rTrans.size()); + } } { @@ -544,12 +547,13 @@ CPPUNIT_TEST_FIXTURE(OoxDrawingmlTest, testThemeTint) CPPUNIT_ASSERT(xThemeColor.is()); model::ThemeColor aThemeColor; model::theme::setFromXThemeColor(aThemeColor, xThemeColor); - // Without the accompanying fix in place, this test would have failed with: - // - Expected: -1 - // - Actual : 4 - // i.e. we remembered the theme index, without being able to remember the tint effect, leading - // to a bad background color. - CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Unknown, aThemeColor.getType()); + CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, aThemeColor.getType()); + { + auto const& rTrans = aThemeColor.getTransformations(); + CPPUNIT_ASSERT_EQUAL(size_t(1), rTrans.size()); + CPPUNIT_ASSERT_EQUAL(model::TransformationType::Tint, rTrans[0].meType); + CPPUNIT_ASSERT_EQUAL(sal_Int16(4000), rTrans[0].mnValue); + } } } diff --git a/oox/source/drawingml/fillproperties.cxx b/oox/source/drawingml/fillproperties.cxx index 3d2878acea54..50439e5458b5 100644 --- a/oox/source/drawingml/fillproperties.cxx +++ b/oox/source/drawingml/fillproperties.cxx @@ -420,7 +420,7 @@ void FillProperties::pushToPropMap( ShapePropertyMap& rPropMap, aThemeColor.setType(model::convertToThemeColorType(nPhClrTheme)); rPropMap.setProperty(PROP_FillColorThemeReference, model::theme::createXThemeColor(aThemeColor)); } - else if (maFillColor.getTintOrShade() == 0) + else { aThemeColor.setType(model::convertToThemeColorType(maFillColor.getSchemeColorIndex())); if (maFillColor.getLumMod() != 10000) commit bfd7ddae567df8839caa68a7a76457703461b518 Author: Tomaž Vajngerl <[email protected]> AuthorDate: Thu Jan 5 12:32:02 2023 +0900 Commit: Tomaž Vajngerl <[email protected]> CommitDate: Tue Jan 17 06:35:10 2023 +0000 ooxml: fix theme color type mapping: bg -> light, text -> dark Change-Id: I19ad3ef7c911943075d7ddc01626047cdf11d5db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145070 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <[email protected]> (cherry picked from commit 1a79594a27f41ad369e7c387c51e00afb1352872) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145649 Tested-by: Tomaž Vajngerl <[email protected]> diff --git a/writerfilter/source/dmapper/TDefTableHandler.cxx b/writerfilter/source/dmapper/TDefTableHandler.cxx index 75266735ed05..2f905aae5cae 100644 --- a/writerfilter/source/dmapper/TDefTableHandler.cxx +++ b/writerfilter/source/dmapper/TDefTableHandler.cxx @@ -300,13 +300,13 @@ model::ThemeColorType TDefTableHandler::getThemeColorTypeIndex(sal_Int32 nType) case NS_ooxml::LN_Value_St_ThemeColor_none: return model::ThemeColorType::Unknown; case NS_ooxml::LN_Value_St_ThemeColor_background1: - return model::ThemeColorType::Dark1; - case NS_ooxml::LN_Value_St_ThemeColor_text1: return model::ThemeColorType::Light1; + case NS_ooxml::LN_Value_St_ThemeColor_text1: + return model::ThemeColorType::Dark1; case NS_ooxml::LN_Value_St_ThemeColor_background2: - return model::ThemeColorType::Dark2; - case NS_ooxml::LN_Value_St_ThemeColor_text2: return model::ThemeColorType::Light2; + case NS_ooxml::LN_Value_St_ThemeColor_text2: + return model::ThemeColorType::Dark2; default: break; }
