diff options
author | Rohit Deshmukh <rohit.deshmukh@synerzip.com> | 2014-04-18 11:42:40 +0530 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-04-23 09:50:36 +0200 |
commit | 3d1046cfcd9594c2cd88b704f0425789d4a6da48 (patch) | |
tree | 3568dc4a4573b0600765ea3979dc55853225da9b | |
parent | 8b451b41d6034d82c696450017272f6c3094e60d (diff) |
Fix of run properties of text box in nested group shape
- Textbox run character properties are change after roundtrip
- Italic case was not handled in textcharacter properties
Reviewed on:
https://gerrit.libreoffice.org/9096
Change-Id: Ia38fcadce489ef0bfffb9bda402d13058cf6129a
-rw-r--r-- | oox/source/drawingml/shapegroupcontext.cxx | 5 | ||||
-rw-r--r-- | oox/source/drawingml/textcharacterpropertiescontext.cxx | 3 | ||||
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/fdo77117.docx | bin | 0 -> 23755 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 7 |
4 files changed, 14 insertions, 1 deletions
diff --git a/oox/source/drawingml/shapegroupcontext.cxx b/oox/source/drawingml/shapegroupcontext.cxx index d795c39f63a9..f4e045437206 100644 --- a/oox/source/drawingml/shapegroupcontext.cxx +++ b/oox/source/drawingml/shapegroupcontext.cxx @@ -93,7 +93,10 @@ ContextHandlerRef ShapeGroupContext::onCreateContext( sal_Int32 aElementToken, c return new ShapeGroupContext( *this, mpGroupShapePtr, ShapePtr( new Shape( "com.sun.star.drawing.GroupShape" ) ) ); case XML_sp: // shape case XML_wsp: - return new ShapeContext( *this, mpGroupShapePtr, ShapePtr( new Shape( "com.sun.star.drawing.CustomShape" ) ) ); + // Don't set default character height for WPS shapes, Writer has its + // own way to set the default, and if we don't set it here, editing + // properly inherits it. + return new ShapeContext( *this, mpGroupShapePtr, ShapePtr( new Shape( "com.sun.star.drawing.CustomShape", getBaseToken(aElementToken) == XML_sp ) ) ); case XML_pic: // CT_Picture return new GraphicShapeContext( *this, mpGroupShapePtr, ShapePtr( new Shape( "com.sun.star.drawing.GraphicObjectShape" ) ) ); case XML_graphicFrame: // CT_GraphicalObjectFrame diff --git a/oox/source/drawingml/textcharacterpropertiescontext.cxx b/oox/source/drawingml/textcharacterpropertiescontext.cxx index 7bedd8e2f7a1..600f4727c582 100644 --- a/oox/source/drawingml/textcharacterpropertiescontext.cxx +++ b/oox/source/drawingml/textcharacterpropertiescontext.cxx @@ -165,6 +165,9 @@ ContextHandlerRef TextCharacterPropertiesContext::onCreateContext( sal_Int32 aEl case OOX_TOKEN( doc, b ): mrTextCharacterProperties.moBold = rAttribs.getBool(OOX_TOKEN( doc, val ), true); break; + case OOX_TOKEN( doc, i ): + mrTextCharacterProperties.moItalic = rAttribs.getBool(OOX_TOKEN( doc, val ), true); + break; case OOX_TOKEN( doc, bCs ): break; case OOX_TOKEN( doc, color ): diff --git a/sw/qa/extras/ooxmlexport/data/fdo77117.docx b/sw/qa/extras/ooxmlexport/data/fdo77117.docx Binary files differnew file mode 100644 index 000000000000..f2a1d447e7d4 --- /dev/null +++ b/sw/qa/extras/ooxmlexport/data/fdo77117.docx diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx index 00122ea7b3be..ebc6500a8f98 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx @@ -3174,6 +3174,13 @@ DECLARE_OOXMLEXPORT_TEST(testContentTypeTIF, "fdo77476.docx") assertXPath(pXmlDoc, "/ContentType:Types/ContentType:Override[@ContentType='image/tif']", "PartName", "/word/media/image1.tif"); } +DECLARE_OOXMLEXPORT_TEST(testFDO77117, "fdo77117.docx") +{ + uno::Reference<drawing::XShapes> xGroup(getShape(1), uno::UNO_QUERY); + uno::Reference<text::XTextRange> xShape(xGroup->getByIndex(0), uno::UNO_QUERY); + // This checks textbox textrun size of font which is in group shape. + CPPUNIT_ASSERT_EQUAL(11.f, getProperty<float>(xShape, "CharHeight")); +} #endif CPPUNIT_PLUGIN_IMPLEMENT(); |