summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--oox/source/drawingml/textcharacterproperties.cxx3
-rw-r--r--oox/source/token/properties.txt1
-rw-r--r--sd/qa/unit/data/pptx/tdf127129.pptxbin0 -> 30143 bytes
-rw-r--r--sd/qa/unit/import-tests.cxx22
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
new file mode 100644
index 000000000000..680fcf631be4
--- /dev/null
+++ b/sd/qa/unit/data/pptx/tdf127129.pptx
Binary files differ
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.