diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2016-12-22 13:50:17 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2016-12-23 03:56:12 +0000 |
commit | c2a20af2c12bf75e7378a3a9dbc50a4dddabdebc (patch) | |
tree | bd60a4c11cb32ef539b72a36cfa57276f8d99e9e /writerfilter | |
parent | 4252096c68ce01ed8a06bcaf57260dbe46502cd3 (diff) |
tdf#66405: imported formulas should have all margins set to 0
Currently, imported formulas use default Math object's margins,
that are 2 mm left & right for embedded object and 1 mm left & right
for its model. Before commit eae2331f83bd58bacccd898d60f6c5f54856c036,
there was also 3.5 mm bottom margin for embedded object.
This commit sets all margins to 0.
Unit test is included.
Change-Id: I23c78d4cedaeba8f2a70a000dca8e31de20bcab2
Reviewed-on: https://gerrit.libreoffice.org/32334
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.cxx | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 07e008feb32e..3278f9237538 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -1424,8 +1424,27 @@ void DomainMapper_Impl::appendStarMath( const Value& val ) xStarMathProperties->setPropertyValue(getPropertyName( PROP_EMBEDDED_OBJECT ), val.getAny()); + // tdf#66405: set zero margins for embedded object + xStarMathProperties->setPropertyValue(getPropertyName( PROP_LEFT_MARGIN ), + uno::makeAny(sal_Int32(0))); + xStarMathProperties->setPropertyValue(getPropertyName( PROP_RIGHT_MARGIN ), + uno::makeAny(sal_Int32(0))); + xStarMathProperties->setPropertyValue(getPropertyName( PROP_TOP_MARGIN ), + uno::makeAny(sal_Int32(0))); + xStarMathProperties->setPropertyValue(getPropertyName( PROP_BOTTOM_MARGIN ), + uno::makeAny(sal_Int32(0))); uno::Reference< uno::XInterface > xInterface( formula->getComponent(), uno::UNO_QUERY ); + // set zero margins for object's component + uno::Reference< beans::XPropertySet > xComponentProperties( xInterface, uno::UNO_QUERY_THROW ); + xComponentProperties->setPropertyValue(getPropertyName( PROP_LEFT_MARGIN ), + uno::makeAny(sal_Int32(0))); + xComponentProperties->setPropertyValue(getPropertyName( PROP_RIGHT_MARGIN ), + uno::makeAny(sal_Int32(0))); + xComponentProperties->setPropertyValue(getPropertyName( PROP_TOP_MARGIN ), + uno::makeAny(sal_Int32(0))); + xComponentProperties->setPropertyValue(getPropertyName( PROP_BOTTOM_MARGIN ), + uno::makeAny(sal_Int32(0))); Size size( 1000, 1000 ); if( oox::FormulaImportBase* formulaimport = dynamic_cast< oox::FormulaImportBase* >( xInterface.get())) size = formulaimport->getFormulaSize(); |