editeng/source/items/paraitem.cxx | 2 +- include/editeng/lspcitem.hxx | 4 ++-- sw/qa/extras/ooxmlexport/data/test_line_spacing.docx |binary sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 14 ++++++++++++++ 4 files changed, 17 insertions(+), 3 deletions(-)
New commits: commit 7e115a4685ad21872e6759686860c5113e19c473 Author: Priyanka Gaikwad <[email protected]> Date: Tue Nov 12 11:29:34 2013 +0530 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 diff --git a/editeng/source/items/paraitem.cxx b/editeng/source/items/paraitem.cxx index a78912b..c130771 100644 --- a/editeng/source/items/paraitem.cxx +++ b/editeng/source/items/paraitem.cxx @@ -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 diff --git a/include/editeng/lspcitem.hxx b/include/editeng/lspcitem.hxx index 91505d5..d04e876 100644 --- a/include/editeng/lspcitem.hxx +++ b/include/editeng/lspcitem.hxx @@ -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; diff --git a/sw/qa/extras/ooxmlexport/data/test_line_spacing.docx b/sw/qa/extras/ooxmlexport/data/test_line_spacing.docx new file mode 100644 index 0000000..2f92afb Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/test_line_spacing.docx differ diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx index d2efe7c..24d242b 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx @@ -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(); _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
