summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sw/qa/extras/ooxmlexport/data/tdf115719.docxbin18335 -> 18338 bytes
-rw-r--r--sw/qa/extras/ooxmlimport/data/tdf115719b.docxbin19861 -> 19839 bytes
-rw-r--r--sw/qa/extras/ooxmlimport/data/tdf124600.docxbin0 -> 15667 bytes
-rw-r--r--sw/qa/extras/ooxmlimport/ooxmlimport2.cxx11
-rw-r--r--writerfilter/source/dmapper/GraphicImport.cxx11
5 files changed, 21 insertions, 1 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/tdf115719.docx b/sw/qa/extras/ooxmlexport/data/tdf115719.docx
index f98f8b4a05dc..4eda09a98fa2 100644
--- a/sw/qa/extras/ooxmlexport/data/tdf115719.docx
+++ b/sw/qa/extras/ooxmlexport/data/tdf115719.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlimport/data/tdf115719b.docx b/sw/qa/extras/ooxmlimport/data/tdf115719b.docx
index 8c552baf76c1..4cb13228443a 100644
--- a/sw/qa/extras/ooxmlimport/data/tdf115719b.docx
+++ b/sw/qa/extras/ooxmlimport/data/tdf115719b.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlimport/data/tdf124600.docx b/sw/qa/extras/ooxmlimport/data/tdf124600.docx
new file mode 100644
index 000000000000..d5dfa313665e
--- /dev/null
+++ b/sw/qa/extras/ooxmlimport/data/tdf124600.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx
index e5c6e182a02e..a186e34db0f1 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx
@@ -103,6 +103,17 @@ DECLARE_OOXMLIMPORT_TEST(testGroupShapeFontName, "groupshape-fontname.docx")
getProperty<OUString>(getRun(getParagraphOfText(1, xText), 1), "CharFontNameAsian"));
}
+DECLARE_OOXMLIMPORT_TEST(testTdf124600, "tdf124600.docx")
+{
+ uno::Reference<drawing::XShape> xShape = getShape(1);
+ // Without the accompanying fix in place, this test would have failed with:
+ // - Expected: 0
+ // - Actual : 318
+ // i.e. the shape had an unexpected left margin, but not in Word.
+ CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0),
+ getProperty<sal_Int32>(xShape, "HoriOrientPosition"));
+}
+
DECLARE_OOXMLIMPORT_TEST(testTdf120548, "tdf120548.docx")
{
// Without the accompanying fix in place, this test would have failed with 'Expected: 00ff0000;
diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx
index 1d5bcbf97e74..97cc3c78fe92 100644
--- a/writerfilter/source/dmapper/GraphicImport.cxx
+++ b/writerfilter/source/dmapper/GraphicImport.cxx
@@ -970,7 +970,6 @@ void GraphicImport::ProcessShapeOptions(Value const & rValue)
switch( m_pImpl->nShapeOptionType )
{
case NS_ooxml::LN_CT_Anchor_distL:
- //todo: changes have to be applied depending on the orientation, see SwWW8ImplReader::AdjustLRWrapForWordMargins()
m_pImpl->nLeftMargin = nIntValue / 360;
break;
case NS_ooxml::LN_CT_Anchor_distT:
@@ -1065,6 +1064,16 @@ void GraphicImport::lcl_sprm(Sprm& rSprm)
m_pImpl->nHoriRelation = pHandler->relation();
m_pImpl->nHoriOrient = pHandler->orientation();
m_pImpl->nLeftPosition = pHandler->position();
+
+ // Left adjustments: if horizontally aligned to left of margin, then remove the
+ // left wrapping.
+ if (m_pImpl->nHoriOrient == text::HoriOrientation::LEFT)
+ {
+ if (m_pImpl->nHoriRelation == text::RelOrientation::PAGE_PRINT_AREA)
+ {
+ m_pImpl->nLeftMargin = 0;
+ }
+ }
}
}
}