oox/source/export/drawingml.cxx | 12 ++++++++++++ sd/qa/unit/data/pptx/bulletColor.pptx |binary sd/qa/unit/export-tests.cxx | 28 ++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+)
New commits: commit 8707670cb39f5777cd54f8b180ec342416ef259f Author: PriyankaGaikwad <priyanka.gaik...@synerzip.com> Date: Mon Mar 23 18:14:28 2015 +0530 tdf#90174 FILESAVE: export of bullet color for pptx Added pptx export support for bullet color. Change-Id: I69306c8b3ace359f8dc243b83f89cfb570b9b73b Reviewed-on: https://gerrit.libreoffice.org/14966 Tested-by: David Tardon <dtar...@redhat.com> Reviewed-by: David Tardon <dtar...@redhat.com> diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index 0c732fd..1fe13cd 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -1610,6 +1610,7 @@ void DrawingML::WriteParagraphNumbering( Reference< XPropertySet > rXPropSet, sa bool bHasFontDesc = false; OUString aGraphicURL; sal_Int16 nBulletRelSize = 0; + sal_Int32 nBulletColor; for ( sal_Int32 i = 0; i < nPropertyCount; i++ ) { @@ -1634,6 +1635,10 @@ void DrawingML::WriteParagraphNumbering( Reference< XPropertySet > rXPropSet, sa else if( *(OUString*)pValue == ")") bPBehind = true; } + else if(aPropName == "BulletColor") + { + nBulletColor = *( (sal_Int32*)pValue ); + } else if ( aPropName == "BulletChar" ) { aBulletChar = OUString ( *( (OUString*)pValue ) )[ 0 ]; @@ -1688,6 +1693,13 @@ void DrawingML::WriteParagraphNumbering( Reference< XPropertySet > rXPropSet, sa } else { + if(nBulletColor) + { + mpFS->startElementNS( XML_a, XML_buClr, FSEND ); + WriteColor( nBulletColor ); + mpFS->endElementNS( XML_a, XML_buClr ); + } + if( nBulletRelSize && nBulletRelSize != 100 ) mpFS->singleElementNS( XML_a, XML_buSzPct, XML_val, IS( std::max( (sal_Int32)25000, std::min( (sal_Int32)400000, 1000*( (sal_Int32)nBulletRelSize ) ) ) ), FSEND ); diff --git a/sd/qa/unit/data/pptx/bulletColor.pptx b/sd/qa/unit/data/pptx/bulletColor.pptx new file mode 100644 index 0000000..61bb834 Binary files /dev/null and b/sd/qa/unit/data/pptx/bulletColor.pptx differ diff --git a/sd/qa/unit/export-tests.cxx b/sd/qa/unit/export-tests.cxx index d6645dd..9386159 100644 --- a/sd/qa/unit/export-tests.cxx +++ b/sd/qa/unit/export-tests.cxx @@ -84,6 +84,7 @@ public: void testLinkedGraphicRT(); void testImageWithSpecialID(); void testTableCellFillProperties(); + void testBulletColor(); #if !defined WNT void testBnc822341(); #endif @@ -107,6 +108,7 @@ public: CPPUNIT_TEST(testLinkedGraphicRT); CPPUNIT_TEST(testImageWithSpecialID); CPPUNIT_TEST(testTableCellFillProperties); + CPPUNIT_TEST(testBulletColor); #if !defined WNT CPPUNIT_TEST(testBnc822341); #endif @@ -820,6 +822,32 @@ void SdExportTest::testBnc822341() #endif +void SdExportTest::testBulletColor() +{ + ::sd::DrawDocShellRef xDocShRef = loadURL( getURLFromSrc("/sd/qa/unit/data/pptx/bulletColor.pptx"), PPTX ); + + xDocShRef = saveAndReload( xDocShRef, PPTX ); + + uno::Reference< drawing::XDrawPagesSupplier > xDoc( + xDocShRef->GetDoc()->getUnoModel(), uno::UNO_QUERY_THROW ); + + uno::Reference< drawing::XDrawPage > xPage( + xDoc->getDrawPages()->getByIndex(0), uno::UNO_QUERY_THROW ); + SdDrawDocument *pDoc = xDocShRef->GetDoc(); + CPPUNIT_ASSERT_MESSAGE( "no document", pDoc != NULL ); + + const SdrPage *pPage = pDoc->GetPage(1); + CPPUNIT_ASSERT_MESSAGE( "no page", pPage != NULL ); + + SdrTextObj *pTxtObj = dynamic_cast<SdrTextObj *>( pPage->GetObj(0) ); + CPPUNIT_ASSERT_MESSAGE( "no text object", pTxtObj != NULL); + + const EditTextObject& aEdit = pTxtObj->GetOutlinerParaObject()->GetTextObject(); + const SvxNumBulletItem *pNumFmt = dynamic_cast<const SvxNumBulletItem *>(aEdit.GetParaAttribs(0).GetItem(EE_PARA_NUMBULLET)); + CPPUNIT_ASSERT(pNumFmt); + CPPUNIT_ASSERT_EQUAL_MESSAGE( "Bullet's color is wrong!", sal_uInt32(0xff0000),pNumFmt->GetNumRule()->GetLevel(0).GetBulletColor().GetColor()); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SdExportTest); CPPUNIT_PLUGIN_IMPLEMENT(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits