summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2013-11-26 16:54:05 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2013-11-26 17:15:53 +0100
commit4932775dae4642bd1157495927c7fcda2589ca15 (patch)
tree037677fb4d6229b630ea6dc794863e0d5badba45 /writerfilter
parenta6dab58bd3542ff7a64af3d4080c89d419dd0fce (diff)
DOCX drawingML shape import: handle wp:align for wps:txbx positioning
I.e. previously only absolutely positioned textboxes were handled, with this, centered textboxes are fine as well. Given that the drawingml picture import code already supported this, refactor common code to a common method. Change-Id: I56e0dbfa0ffc7e27a70a0e8fb8477681389a51cf
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/GraphicImport.cxx42
1 files changed, 21 insertions, 21 deletions
diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx
index fe5ef95dd6b5..25056d6953fc 100644
--- a/writerfilter/source/dmapper/GraphicImport.cxx
+++ b/writerfilter/source/dmapper/GraphicImport.cxx
@@ -354,6 +354,25 @@ public:
xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_TOP_MARGIN ), uno::makeAny(nTopMargin));
xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_BOTTOM_MARGIN ), uno::makeAny(nBottomMargin));
}
+
+ void applyPosition(uno::Reference< beans::XPropertySet > xGraphicObjectProperties) const
+ {
+ PropertyNameSupplier& rPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier();
+ xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_HORI_ORIENT ),
+ uno::makeAny(nHoriOrient));
+ xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_HORI_ORIENT_POSITION),
+ uno::makeAny(nLeftPosition));
+ xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_HORI_ORIENT_RELATION ),
+ uno::makeAny(nHoriRelation));
+ xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_PAGE_TOGGLE ),
+ uno::makeAny(bPageToggle));
+ xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_VERT_ORIENT ),
+ uno::makeAny(nVertOrient));
+ xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_VERT_ORIENT_POSITION),
+ uno::makeAny(nTopPosition));
+ xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_VERT_ORIENT_RELATION ),
+ uno::makeAny(nVertRelation));
+ }
};
@@ -1008,12 +1027,7 @@ void GraphicImport::lcl_attribute(Id nName, Value & val)
if (xServiceInfo->supportsService("com.sun.star.text.TextFrame"))
{
// For non-textframes, this is handled already in oox::drawingml::Shape::createAndInsert().
- xShapeProps->setPropertyValue("HoriOrient", uno::makeAny(text::HoriOrientation::NONE));
- xShapeProps->setPropertyValue("VertOrient", uno::makeAny(text::VertOrientation::NONE));
- xShapeProps->setPropertyValue("HoriOrientPosition", uno::makeAny(m_pImpl->nLeftPosition));
- xShapeProps->setPropertyValue("VertOrientPosition", uno::makeAny(m_pImpl->nTopPosition));
- xShapeProps->setPropertyValue("HoriOrientRelation", uno::makeAny(text::RelOrientation::FRAME));
- xShapeProps->setPropertyValue("VertOrientRelation", uno::makeAny(text::RelOrientation::FRAME));
+ m_pImpl->applyPosition(xShapeProps);
}
m_pImpl->applyMargins(xShapeProps);
@@ -1496,21 +1510,7 @@ uno::Reference< text::XTextContent > GraphicImport::createGraphicObject( const b
m_pImpl->nLeftPosition = 0;
}
- xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_HORI_ORIENT ),
- uno::makeAny(m_pImpl->nHoriOrient));
- xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_HORI_ORIENT_POSITION),
- uno::makeAny(m_pImpl->nLeftPosition));
- xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_HORI_ORIENT_RELATION ),
- uno::makeAny(m_pImpl->nHoriRelation));
- xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_PAGE_TOGGLE ),
- uno::makeAny(m_pImpl->bPageToggle));
- xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_VERT_ORIENT ),
- uno::makeAny(m_pImpl->nVertOrient));
- xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_VERT_ORIENT_POSITION),
- uno::makeAny(m_pImpl->nTopPosition));
- xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_VERT_ORIENT_RELATION ),
- uno::makeAny(m_pImpl->nVertRelation));
-
+ m_pImpl->applyPosition(xGraphicObjectProperties);
bool bOpaque = m_pImpl->bOpaque && !m_pImpl->rDomainMapper.IsInHeaderFooter( );
if( !bOpaque )
{