Kaydet (Commit) 89bd93fc authored tarafından Tamás Zolnai's avatar Tamás Zolnai

tdf#113399: DOT IMPORT, DOCX EXPORT: Page number not shown correctly

We need to export 0 padding explicitely to DOCX file.

Change-Id: I7126cfd1dbf4ebd1fb5e09c3642e0da159488258
Reviewed-on: https://gerrit.libreoffice.org/47090Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarTamás Zolnai <tamas.zolnai@collabora.com>
üst abec3df5
This diff was suppressed by a .gitattributes entry.
......@@ -181,6 +181,22 @@ DECLARE_OOXMLEXPORT_TEST(testTdf113547, "tdf113547.docx")
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(-635), aProps["FirstLineIndent"].get<sal_Int32>());
}
DECLARE_OOXMLEXPORT_TEST(testTdf113399, "tdf113399.doc")
{
// 0 padding was not preserved
// In LO 0 is the defualt, but in OOXML format the default is 254 / 127
uno::Reference<beans::XPropertySet> xPropSet(getShape(1), uno::UNO_QUERY);
sal_Int32 nPaddingValue;
xPropSet->getPropertyValue("TextLeftDistance") >>= nPaddingValue;
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0), nPaddingValue);
xPropSet->getPropertyValue("TextRightDistance") >>= nPaddingValue;
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0), nPaddingValue);
xPropSet->getPropertyValue("TextUpperDistance") >>= nPaddingValue;
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0), nPaddingValue);
xPropSet->getPropertyValue("TextLowerDistance") >>= nPaddingValue;
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0), nPaddingValue);
}
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
......@@ -1602,6 +1602,19 @@ void DocxSdrExport::writeDMLTextFrame(ww8::Frame const* pParentFrame, int nAncho
pFS->endElementNS(XML_w, XML_txbxContent);
pFS->endElementNS(XML_wps, XML_txbx);
}
// We need to init padding to 0, if it's not set.
// In LO the default is 0 and so ins attributes are not set when padding is 0
// but in MSO the default is 254 / 127, so we need to set 0 padding explicitely
if(!m_pImpl->m_pBodyPrAttrList->hasAttribute(XML_lIns))
m_pImpl->m_pBodyPrAttrList->add(XML_lIns, OString::number(0));
if(!m_pImpl->m_pBodyPrAttrList->hasAttribute(XML_tIns))
m_pImpl->m_pBodyPrAttrList->add(XML_tIns, OString::number(0));
if(!m_pImpl->m_pBodyPrAttrList->hasAttribute(XML_rIns))
m_pImpl->m_pBodyPrAttrList->add(XML_rIns, OString::number(0));
if(!m_pImpl->m_pBodyPrAttrList->hasAttribute(XML_bIns))
m_pImpl->m_pBodyPrAttrList->add(XML_bIns, OString::number(0));
sax_fastparser::XFastAttributeListRef xBodyPrAttrList(m_pImpl->m_pBodyPrAttrList);
m_pImpl->m_pBodyPrAttrList = nullptr;
if (!bTextBoxOnly)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment