Kaydet (Commit) 7e115a46 authored tarafından Priyanka Gaikwad's avatar Priyanka Gaikwad Kaydeden (comit) Miklos Vajna

Fixed for spacing between lines in paragraph.

Problem Description:
In "w:spacing" value of "w:line" attribute value is not getting preserved.

Conflicts:
	sw/qa/extras/ooxmlexport/ooxmlexport.cxx
Reviewed on:
	https://gerrit.libreoffice.org/6645

Change-Id: Id9da4f9234d14cf4599c6520b4a191ad9af92c25
üst 99b2f2bd
......@@ -203,7 +203,7 @@ bool SvxLineSpacingItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId )
case style::LineSpacingMode::PROP:
{
eLineSpace = SVX_LINE_SPACE_AUTO;
nPropLineSpace = (sal_Int8)std::min(aLSp.Height, (short)0xFF);
nPropLineSpace = (sal_Int16)aLSp.Height;
if(100 == aLSp.Height)
eInterLineSpace = SVX_INTER_LINE_SPACE_OFF;
else
......
......@@ -38,7 +38,7 @@ class EDITENG_DLLPUBLIC SvxLineSpacingItem : public SfxEnumItemInterface
short nInterLineSpace;
sal_uInt16 nLineHeight;
sal_uInt8 nPropLineSpace;
sal_uInt16 nPropLineSpace;
SvxLineSpace eLineSpace;
SvxInterLineSpace eInterLineSpace;
......@@ -83,7 +83,7 @@ public:
}
// To increase or decrease the row height.
sal_uInt8 GetPropLineSpace() const { return nPropLineSpace; }
sal_uInt16 GetPropLineSpace() const { return nPropLineSpace; }
inline void SetPropLineSpace( const sal_uInt8 nProp )
{
nPropLineSpace = nProp;
......
......@@ -1704,6 +1704,20 @@ DECLARE_OOXML_TEST(testFdo70838, "fdo70838.docx")
}
}
DECLARE_OOXML_TEST(testLineSpacingexport, "test_line_spacing.docx")
{
// The Problem was that the w:line attribute value in w:spacing tag was incorrect
uno::Reference<text::XTextDocument> xTextDocument(mxComponent, uno::UNO_QUERY);
uno::Reference<container::XEnumerationAccess> xParaEnumAccess(xTextDocument->getText(), uno::UNO_QUERY);
uno::Reference<container::XEnumeration> xParaEnum = xParaEnumAccess->createEnumeration();
CPPUNIT_ASSERT(xParaEnum->hasMoreElements());
style::LineSpacing alineSpacing = getProperty<style::LineSpacing>(xParaEnum->nextElement(), "ParaLineSpacing");
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int16>(13200), static_cast<sal_Int16>(alineSpacing.Height));
xmlDocPtr pXmlDoc = parseExport("word/document.xml");
assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:pPr/w:spacing", "line", "31680");
}
#endif
CPPUNIT_PLUGIN_IMPLEMENT();
......
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