[Libreoffice-commits] core.git: oox/source sw/qa
Tibor Nagy (via logerrit)
logerrit at kemper.freedesktop.org
Mon May 18 08:51:37 UTC 2020
oox/source/vml/vmlshape.cxx | 14 ++++++++++----
sw/qa/extras/ooxmlexport/data/tdf123622.docx |binary
sw/qa/extras/ooxmlexport/ooxmlexport14.cxx | 15 ++++++++++++++-
3 files changed, 24 insertions(+), 5 deletions(-)
New commits:
commit 52442a4c0192cbedafe7b77459dd2c3d1cf3614b
Author: Tibor Nagy <nagy.tibor2 at nisz.hu>
AuthorDate: Fri May 8 10:32:09 2020 +0200
Commit: László Németh <nemeth at numbertext.org>
CommitDate: Mon May 18 10:51:03 2020 +0200
tdf#123622 DOCX VML import: fix relative horizontal alignment
Margin (left, right, inner, outer) alignments of VML shapes
weren't handled.
Co-authored-by: Attila Bakos (NISZ)
Change-Id: I5f8ece64707a2d699b71d6151887db05ac39c4f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93723
Tested-by: László Németh <nemeth at numbertext.org>
Reviewed-by: László Németh <nemeth at numbertext.org>
diff --git a/oox/source/vml/vmlshape.cxx b/oox/source/vml/vmlshape.cxx
index a6687ab65100..55eb9020ae11 100644
--- a/oox/source/vml/vmlshape.cxx
+++ b/oox/source/vml/vmlshape.cxx
@@ -632,10 +632,16 @@ static void lcl_SetAnchorType(PropertySet& rPropSet, const ShapeTypeModel& rType
if ( rTypeModel.maPositionHorizontalRelative == "page" )
rPropSet.setAnyProperty(PROP_HoriOrientRelation, makeAny(text::RelOrientation::PAGE_FRAME));
- else if ( rTypeModel.maPositionVerticalRelative == "margin" )
- rPropSet.setProperty(PROP_VertOrientRelation, text::RelOrientation::PAGE_PRINT_AREA);
- else if ( rTypeModel.maPositionVerticalRelative == "text" )
- rPropSet.setProperty(PROP_VertOrientRelation, text::RelOrientation::FRAME);
+ else if ( rTypeModel.maPositionHorizontalRelative == "margin" )
+ rPropSet.setProperty(PROP_HoriOrientRelation, text::RelOrientation::PAGE_PRINT_AREA);
+ else if (rTypeModel.maPositionHorizontalRelative == "right-margin-area" ||
+ rTypeModel.maPositionHorizontalRelative == "inner-margin-area")
+ rPropSet.setProperty(PROP_HoriOrientRelation, text::RelOrientation::PAGE_RIGHT);
+ else if (rTypeModel.maPositionHorizontalRelative == "left-margin-area" ||
+ rTypeModel.maPositionHorizontalRelative == "outer-margin-area")
+ rPropSet.setProperty(PROP_HoriOrientRelation, text::RelOrientation::PAGE_LEFT);
+ else if ( rTypeModel.maPositionHorizontalRelative == "text" )
+ rPropSet.setProperty(PROP_HoriOrientRelation, text::RelOrientation::FRAME);
if ( rTypeModel.maPositionVertical == "center" )
rPropSet.setAnyProperty(PROP_VertOrient, makeAny(text::VertOrientation::CENTER));
diff --git a/sw/qa/extras/ooxmlexport/data/tdf123622.docx b/sw/qa/extras/ooxmlexport/data/tdf123622.docx
new file mode 100644
index 000000000000..54ef0cbd7670
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/tdf123622.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport14.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport14.cxx
index cf6d3f6e2671..a591a3caa8fe 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport14.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport14.cxx
@@ -44,7 +44,7 @@ protected:
}
};
-DECLARE_OOXMLIMPORT_TEST(Tdf130907,"tdf130907.docx")
+DECLARE_OOXMLIMPORT_TEST(Tdf130907, "tdf130907.docx")
{
uno::Reference<text::XTextRange> xPara1 = getParagraph(2);
CPPUNIT_ASSERT(xPara1.is());
@@ -74,6 +74,19 @@ DECLARE_OOXMLIMPORT_TEST(Tdf130907,"tdf130907.docx")
sal_Int16(style::ParagraphAdjust::ParagraphAdjust_RIGHT), nHOri3);
}
+DECLARE_OOXMLIMPORT_TEST(testTdf123622, "tdf123622.docx")
+{
+ uno::Reference<beans::XPropertySet> XPropsRight(getShape(1),uno::UNO_QUERY);
+ sal_Int16 nRelativePosR = 0;
+ XPropsRight->getPropertyValue("HoriOrientRelation")>>=nRelativePosR;
+ CPPUNIT_ASSERT_EQUAL_MESSAGE("Shape inside the margin", sal_Int16(4), nRelativePosR);
+
+ uno::Reference<beans::XPropertySet> XPropsLeft(getShape(2), uno::UNO_QUERY);
+ sal_Int16 nRelativePosL = 0;
+ XPropsLeft->getPropertyValue("HoriOrientRelation") >>= nRelativePosL;
+ CPPUNIT_ASSERT_EQUAL_MESSAGE("Shape inside the margin", sal_Int16(3), nRelativePosL);
+}
+
DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testTdf78749, "tdf78749.docx")
{
//Shape lost the background image before, now check if it still has...
More information about the Libreoffice-commits
mailing list