summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-09-28 09:03:13 +0200
committerAndras Timar <andras.timar@collabora.com>2015-10-17 23:23:09 +0200
commitce351d94d466d111fb811a7abfea34f4f5719617 (patch)
tree5fe02adf0b7576e9151334aeb10fc2b69b4b824d /writerfilter
parent73a30a30ae41ebc78f90166ccbf80885875e2e95 (diff)
tdf#90153 DOCX import: fix default sw TextFrame roundtrip
The AnchorType of the shape was at-paragraph, which does not allow line-level VertOrientRelation (which is correct, it would be undefined, what line of the paragraph should be the used). Fix this by changing the AnchorType to at-character in the line-level case, which brings the filter in sync with the DOC one. With this, import of a DOCX file that was created by inserting a TextFrame into an empty document is roundtripped without shifting the shape up considerably. (cherry-picked from commit 358666e4204364ce915ee95372dc6f2fca545253) Conflicts: sw/qa/extras/ooxmlimport/ooxmlimport.cxx Change-Id: I6d85c38be859d6e730584f2349c857b87496a1d4 Reviewed-on: https://gerrit.libreoffice.org/19099 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit f98d09c8325c642f0463f2e65ff57be0498e9c23)
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/GraphicImport.cxx8
1 files changed, 6 insertions, 2 deletions
diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx
index 154b9e2bb137..1b0644d1eabc 100644
--- a/writerfilter/source/dmapper/GraphicImport.cxx
+++ b/writerfilter/source/dmapper/GraphicImport.cxx
@@ -823,8 +823,12 @@ void GraphicImport::lcl_attribute(Id nName, Value& rValue)
// If we are here, this is a drawingML shape. For those, only dmapper (and not oox) knows the anchoring infos (just like for Writer pictures).
// But they aren't Writer pictures, either (which are already handled above).
uno::Reference< beans::XPropertySet > xShapeProps(m_xShape, uno::UNO_QUERY_THROW);
- // This needs to be AT_PARAGRAPH and not AT_CHARACTER, otherwise shape will move when the user inserts a new paragraph.
- xShapeProps->setPropertyValue("AnchorType", uno::makeAny(text::TextContentAnchorType_AT_PARAGRAPH));
+
+ // This needs to be AT_PARAGRAPH by default and not AT_CHARACTER, otherwise shape will move when the user inserts a new paragraph.
+ text::TextContentAnchorType eAnchorType = text::TextContentAnchorType_AT_PARAGRAPH;
+ if (m_pImpl->nVertRelation == text::RelOrientation::TEXT_LINE)
+ eAnchorType = text::TextContentAnchorType_AT_CHARACTER;
+ xShapeProps->setPropertyValue("AnchorType", uno::makeAny(eAnchorType));
//only the position orientation is handled in applyPosition()
m_pImpl->applyPosition(xShapeProps);