include/oox/drawingml/fillproperties.hxx | 1 + oox/source/drawingml/fillproperties.cxx | 4 ++++ oox/source/drawingml/fillpropertiesgroupcontext.cxx | 3 +++ sw/qa/extras/ooxmlimport/data/tdf100830.docx |binary sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 6 ++++++ 5 files changed, 14 insertions(+)
New commits: commit 21122a831aee1d548c9c539b27f15588675ceee5 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Tue Oct 4 09:24:42 2016 +0200 tdf#100830 drawingML import: handle <a:alphaModFix> Fill transparency on the UI. Regression from commit 57450afb768c085df0ba2344aa94b5f843060178 (DOCX import: declare wps as a supported feature, 2013-12-03), as the VML import handled this. (cherry picked from commit ecfcee8b05e45ec82dec6ed417e9ac53d4d7b4ff) Change-Id: I654b51d51448d25d400979a4a62189b86126ac01 Reviewed-on: https://gerrit.libreoffice.org/29560 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Michael Stahl <mst...@redhat.com> diff --git a/include/oox/drawingml/fillproperties.hxx b/include/oox/drawingml/fillproperties.hxx index 3015424..bed67d6 100644 --- a/include/oox/drawingml/fillproperties.hxx +++ b/include/oox/drawingml/fillproperties.hxx @@ -121,6 +121,7 @@ struct BlipFillProperties Color maDuotoneColors[2]; /// Duotone Colors ArtisticEffectProperties maEffect; /// Artistic effect, not supported by core. + OptValue<sal_Int32> moAlphaModFix; ///< Alpha Modulate Fixed Effect. /** Overwrites all members that are explicitly set in rSourceProps. */ void assignUsed( const BlipFillProperties& rSourceProps ); diff --git a/oox/source/drawingml/fillproperties.cxx b/oox/source/drawingml/fillproperties.cxx index 9044b5d..c283212 100644 --- a/oox/source/drawingml/fillproperties.cxx +++ b/oox/source/drawingml/fillproperties.cxx @@ -205,6 +205,7 @@ void BlipFillProperties::assignUsed( const BlipFillProperties& rSourceProps ) maDuotoneColors[0].assignIfUsed( rSourceProps.maDuotoneColors[0] ); maDuotoneColors[1].assignIfUsed( rSourceProps.maDuotoneColors[1] ); maEffect.assignUsed( rSourceProps.maEffect ); + moAlphaModFix.assignIfUsed(rSourceProps.moAlphaModFix); } void FillProperties::assignUsed( const FillProperties& rSourceProps ) @@ -652,6 +653,9 @@ void FillProperties::pushToPropMap( ShapePropertyMap& rPropMap, } } } + + if (maBlipProps.moAlphaModFix.has()) + rPropMap.setProperty(SHAPEPROP_FillTransparency, static_cast<sal_Int16>(maBlipProps.moAlphaModFix.get() / PER_PERCENT)); } break; diff --git a/oox/source/drawingml/fillpropertiesgroupcontext.cxx b/oox/source/drawingml/fillpropertiesgroupcontext.cxx index ecfdb33..1bd514f 100644 --- a/oox/source/drawingml/fillpropertiesgroupcontext.cxx +++ b/oox/source/drawingml/fillpropertiesgroupcontext.cxx @@ -190,6 +190,9 @@ ContextHandlerRef BlipContext::onCreateContext( mrBlipProps.moBrightness = rAttribs.getInteger( XML_bright ); mrBlipProps.moContrast = rAttribs.getInteger( XML_contrast ); break; + case A_TOKEN( alphaModFix ): + mrBlipProps.moAlphaModFix = rAttribs.getInteger(XML_amt); + break; } return nullptr; } diff --git a/sw/qa/extras/ooxmlimport/data/tdf100830.docx b/sw/qa/extras/ooxmlimport/data/tdf100830.docx new file mode 100644 index 0000000..a51b890 Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/tdf100830.docx differ diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index 8b7de50..59a015b 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -3245,6 +3245,12 @@ DECLARE_OOXMLIMPORT_TEST(testTdf99140, "tdf99140.docx") CPPUNIT_ASSERT_EQUAL(text::HoriOrientation::LEFT_AND_WIDTH, getProperty<sal_Int16>(xTableProperties, "HoriOrient")); } +DECLARE_OOXMLIMPORT_TEST(testTdf100830, "tdf100830.docx") +{ + // FillTransparence wasn't imported, this was 0. + CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int16>(50), getProperty<sal_Int16>(getShape(1), "FillTransparence")); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits