diff options
-rw-r--r-- | oox/source/drawingml/textcharacterproperties.cxx | 3 | ||||
-rw-r--r-- | oox/source/token/properties.txt | 1 | ||||
-rw-r--r-- | sd/qa/unit/data/pptx/tdf127129.pptx | bin | 0 -> 30143 bytes | |||
-rw-r--r-- | sd/qa/unit/import-tests.cxx | 22 |
4 files changed, 26 insertions, 0 deletions
diff --git a/oox/source/drawingml/textcharacterproperties.cxx b/oox/source/drawingml/textcharacterproperties.cxx index 703e23db9c3f..e2f5cc63c0a2 100644 --- a/oox/source/drawingml/textcharacterproperties.cxx +++ b/oox/source/drawingml/textcharacterproperties.cxx @@ -167,6 +167,9 @@ void TextCharacterProperties::pushToPropMap( PropertyMap& rPropMap, const XmlFil rPropMap.setProperty( PROP_CharUnderlineColor, maUnderlineColor.getColor( rFilter.getGraphicHelper() )); } // TODO If bUnderlineFillFollowText uFillTx (CT_TextUnderlineFillFollowText) is set, fill color of the underline should be the same color as the text + + if( maHighlightColor.isUsed() ) + rPropMap.setProperty( PROP_CharBackColor, maHighlightColor.getColor( rFilter.getGraphicHelper() )); } static void pushToGrabBag( PropertySet& rPropSet, const std::vector<PropertyValue>& aVectorOfProperyValues ) diff --git a/oox/source/token/properties.txt b/oox/source/token/properties.txt index 15db0c2b193e..a9e031a1ce7c 100644 --- a/oox/source/token/properties.txt +++ b/oox/source/token/properties.txt @@ -50,6 +50,7 @@ CellStyle CenterHorizontally CenterVertically Change +CharBackColor CharCaseMap CharColor CharContoured diff --git a/sd/qa/unit/data/pptx/tdf127129.pptx b/sd/qa/unit/data/pptx/tdf127129.pptx Binary files differnew file mode 100644 index 000000000000..680fcf631be4 --- /dev/null +++ b/sd/qa/unit/data/pptx/tdf127129.pptx diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx index 1fd0d5ef5e8c..f46da0b2aa89 100644 --- a/sd/qa/unit/import-tests.cxx +++ b/sd/qa/unit/import-tests.cxx @@ -154,6 +154,7 @@ public: void testBnc910045(); void testRowHeight(); void testTdf93830(); + void testTdf127129(); void testTdf93097(); void testTdf62255(); void testTdf93124(); @@ -251,6 +252,7 @@ public: CPPUNIT_TEST(testBnc910045); CPPUNIT_TEST(testRowHeight); CPPUNIT_TEST(testTdf93830); + CPPUNIT_TEST(testTdf127129); CPPUNIT_TEST(testTdf93097); CPPUNIT_TEST(testTdf62255); CPPUNIT_TEST(testTdf93124); @@ -1346,6 +1348,7 @@ void SdImportTest::testRowHeight() xDocShRef->DoClose(); } + void SdImportTest::testTdf93830() { // Text shape offset was ignored @@ -1364,6 +1367,25 @@ void SdImportTest::testTdf93830() xDocShRef->DoClose(); } +void SdImportTest::testTdf127129() +{ + sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/tdf127129.pptx"), PPTX); + uno::Reference< beans::XPropertySet > xShape( getShapeFromPage( 0, 0, xDocShRef ) ); + uno::Reference< text::XTextRange > xParagraph( getParagraphFromShape( 0, xShape ) ); + uno::Reference< text::XTextRange > xRun( getRunFromParagraph( 0, xParagraph ) ); + uno::Reference< beans::XPropertySet > xPropSet( xRun, uno::UNO_QUERY_THROW ); + + sal_Int32 nCharColor; + xPropSet->getPropertyValue( "CharColor" ) >>= nCharColor; + CPPUNIT_ASSERT_EQUAL( sal_Int32(0x000000), nCharColor ); + + // Without the accompanying fix in place, the highlight would be -1 + sal_Int32 nCharBackColor; + xPropSet->getPropertyValue( "CharBackColor" ) >>= nCharBackColor; + CPPUNIT_ASSERT_EQUAL( sal_Int32(0xFF00), nCharBackColor ); + + xDocShRef->DoClose(); +} void SdImportTest::testTdf93097() { // Throwing metadata import aborted the filter, check that metadata is now imported. |