[Libreoffice-commits] core.git: editeng/source include/editeng sw/qa
Priyanka Gaikwad
priyanka.gaikwad at synerzip.com
Thu Nov 14 04:52:14 PST 2013
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 <priyanka.gaikwad at synerzip.com>
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();
More information about the Libreoffice-commits
mailing list