[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - 2 commits - sw/qa writerfilter/source
Miklos Vajna
vmiklos at collabora.co.uk
Sat Nov 22 12:11:07 PST 2014
sw/qa/extras/rtfexport/data/fdo82006.rtf | 4 ++
sw/qa/extras/rtfexport/data/num-override-start.rtf | 29 +++++++++++++++++++++
sw/qa/extras/rtfexport/rtfexport.cxx | 15 ++++++++++
writerfilter/source/rtftok/rtfdocumentimpl.cxx | 10 ++++++-
4 files changed, 57 insertions(+), 1 deletion(-)
New commits:
commit 85086306939b6bebb8cf549966942f2e5a244388
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Sat Nov 22 20:08:42 2014 +0100
fdo#82006 RTF filter: import \sbauto and \saauto
Change-Id: Iabff543c8191fc86dceb9274ea1552f60d73dabd
(cherry picked from commit bb77fd64f9219f1b8f990f5041d81cfddd021213)
diff --git a/sw/qa/extras/rtfexport/data/fdo82006.rtf b/sw/qa/extras/rtfexport/data/fdo82006.rtf
new file mode 100644
index 0000000..0f5ee43
--- /dev/null
+++ b/sw/qa/extras/rtfexport/data/fdo82006.rtf
@@ -0,0 +1,4 @@
+{\rtf1
+\pard\plain
+\ql \sb100\sa100\sbauto1\saauto1 hello\par
+}
diff --git a/sw/qa/extras/rtfexport/rtfexport.cxx b/sw/qa/extras/rtfexport/rtfexport.cxx
index c4118c6..221618d 100644
--- a/sw/qa/extras/rtfexport/rtfexport.cxx
+++ b/sw/qa/extras/rtfexport/rtfexport.cxx
@@ -843,6 +843,14 @@ DECLARE_RTFEXPORT_TEST(testNumOverrideStart, "num-override-start.rtf")
CPPUNIT_ASSERT_EQUAL(sal_Int16(1), comphelper::SequenceAsHashMap(xRules->getByIndex(0))["StartWith"].get<sal_Int16>());
CPPUNIT_ASSERT_EQUAL(sal_Int16(3), comphelper::SequenceAsHashMap(xRules->getByIndex(1))["StartWith"].get<sal_Int16>());
}
+
+DECLARE_RTFEXPORT_TEST(testFdo82006, "fdo82006.rtf")
+{
+ // These were 176 (100 twips), as \sbauto and \sbbefore were ignored.
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(convertTwipToMm100(280)), getProperty<sal_Int32>(getParagraph(0), "ParaTopMargin"));
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(convertTwipToMm100(280)), getProperty<sal_Int32>(getParagraph(0), "ParaBottomMargin"));
+}
+
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 84b689f..5e69009 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -4881,6 +4881,14 @@ int RTFDocumentImpl::dispatchToggle(RTFKeyword nKeyword, bool bParam, int nParam
NS_ooxml::LN_trackchange, NS_ooxml::LN_token, pValue);
}
break;
+ case RTF_SBAUTO:
+ lcl_putNestedAttribute(m_aStates.top().aParagraphSprms,
+ NS_ooxml::LN_CT_PPrBase_spacing, NS_ooxml::LN_CT_Spacing_beforeAutospacing, pBoolValue, OVERWRITE_YES);
+ break;
+ case RTF_SAAUTO:
+ lcl_putNestedAttribute(m_aStates.top().aParagraphSprms,
+ NS_ooxml::LN_CT_PPrBase_spacing, NS_ooxml::LN_CT_Spacing_afterAutospacing, pBoolValue, OVERWRITE_YES);
+ break;
default:
{
SAL_INFO("writerfilter", "TODO handle toggle '" << lcl_RtfToString(nKeyword) << "'");
commit d1c8f2a1228e187a4c353c1f414667be0248dfd8
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Sat Nov 22 12:34:06 2014 +0100
RTF import: fix handling of multiple \lfolevel control words
Change-Id: I242853d491c2ef83f192486fa6fe5a3407700047
(cherry picked from commit 74249cb6f4f52b7c10ebaa92f943920f6f94aaf4)
diff --git a/sw/qa/extras/rtfexport/data/num-override-start.rtf b/sw/qa/extras/rtfexport/data/num-override-start.rtf
new file mode 100644
index 0000000..aa1a2d4
--- /dev/null
+++ b/sw/qa/extras/rtfexport/data/num-override-start.rtf
@@ -0,0 +1,29 @@
+{\rtf1
+{\*\listtable
+{\list\listtemplateid-1627985480
+{\listlevel\levelnfc0
+\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\'02\'00.;}
+{\levelnumbers\'01;}
+\rtlch\fcs1 \af0 \ltrch\fcs0 \s15\fi-360\li720\lin720 }
+{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levellegal\levelspace0\levelindent0
+{\leveltext\'03\'00.\'01;}
+{\levelnumbers\'01\'03;}
+\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li360\lin360 }
+{\listname ;}
+\listid94861222}
+}
+{\*\listoverridetable
+{\listoverride\listid94861222\listoverridecount2
+{\lfolevel\listoverridestartat\levelstartat1}
+{\lfolevel\listoverridestartat\levelstartat3}
+\ls1}
+}
+\pard\plain \ltrpar\s16\ql \fi-360\li360\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl1\adjustright\rin0\lin360\itap0\pararsid16599941 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0
+\b\fs28\lang3082\langfe3082\cgrid\langnp3082\langfenp3082
+{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang2057\langfe3082\langnp2057\insrsid16599941 This should be 1.3}
+{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0
+\fs20\lang2057\langfe3082\langnp2057\insrsid14181417\charrsid16599941
+\par }
+}
diff --git a/sw/qa/extras/rtfexport/rtfexport.cxx b/sw/qa/extras/rtfexport/rtfexport.cxx
index 12fbfd1..c4118c6 100644
--- a/sw/qa/extras/rtfexport/rtfexport.cxx
+++ b/sw/qa/extras/rtfexport/rtfexport.cxx
@@ -836,6 +836,13 @@ DECLARE_RTFEXPORT_TEST(testTableRtl, "table-rtl.rtf")
CPPUNIT_ASSERT_EQUAL(text::WritingMode2::RL_TB, getProperty<sal_Int16>(xTable, "WritingMode"));
}
+DECLARE_RTFEXPORT_TEST(testNumOverrideStart, "num-override-start.rtf")
+{
+ // The numbering on the second level was "3.1", not "1.3".
+ uno::Reference<container::XIndexAccess> xRules = getProperty< uno::Reference<container::XIndexAccess> >(getStyles("NumberingStyles")->getByName("WWNum1"), "NumberingRules");
+ CPPUNIT_ASSERT_EQUAL(sal_Int16(1), comphelper::SequenceAsHashMap(xRules->getByIndex(0))["StartWith"].get<sal_Int16>());
+ CPPUNIT_ASSERT_EQUAL(sal_Int16(3), comphelper::SequenceAsHashMap(xRules->getByIndex(1))["StartWith"].get<sal_Int16>());
+}
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index cfca395..84b689f 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -5902,7 +5902,7 @@ int RTFDocumentImpl::popState()
aState.aTableAttributes.set(NS_ooxml::LN_CT_NumLvl_ilvl, pInnerValue);
RTFValue::Pointer_t pValue(new RTFValue(aState.aTableAttributes, aState.aTableSprms));
- m_aStates.top().aTableSprms.set(NS_ooxml::LN_CT_Num_lvlOverride, pValue);
+ m_aStates.top().aTableSprms.set(NS_ooxml::LN_CT_Num_lvlOverride, pValue, OVERWRITE_NO_APPEND);
}
break;
// list override table
More information about the Libreoffice-commits
mailing list