summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2016-12-13 08:20:23 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-12-13 12:43:36 +0100
commit657c6cc3acec0528209a8584b838cd6de581c437 (patch)
tree39d57e0b54aca3448afd4ca8da3822217cb143e5
parent8bd9db90383ee008777903c35c7a5eb2c5352e71 (diff)
tdf#104228 RTF import: fix override of style left/right para margin
See commit 1be0a3fa9ebb22b607c54b47739d4467acfed259 (n#825305: writerfilter RTF import: override style properties like Word, 2014-06-17) for the details, this bug was about the same, just for two more paragraph properties. Specify the default values for them, so override of style value as direct formatting works as expected. Change-Id: I353cc3ae8c35baf1b5ed5a83a8bd131c7bfbbe64
-rw-r--r--sw/qa/extras/rtfexport/data/tdf104228.rtf37
-rw-r--r--sw/qa/extras/rtfexport/rtfexport.cxx10
-rw-r--r--writerfilter/source/rtftok/rtfsprm.cxx2
3 files changed, 49 insertions, 0 deletions
diff --git a/sw/qa/extras/rtfexport/data/tdf104228.rtf b/sw/qa/extras/rtfexport/data/tdf104228.rtf
new file mode 100644
index 000000000000..4e5d7cff6953
--- /dev/null
+++ b/sw/qa/extras/rtfexport/data/tdf104228.rtf
@@ -0,0 +1,37 @@
+{\rtf1\sste18000\ansi\deflang1040\ftnbj\uc1\deff0
+{\stylesheet
+{\f2\fs22\fi0\li0\ri0 Normal;}
+{\s2\snext0\outlinelevel1\f5\fs26\cf2\fi0\li0\ri0\sb40\sa0\sl0\outlinelevel1\keep\keepn heading 2;}
+{\s3\snext0\outlinelevel3\f5\fs22\i\cf2\fi0\li0\ri0\sb40\sa0\sl0\outlinelevel3\keep\keepn heading 4;}
+{\s4\snext4\outlinelevel1\f1\fs18\b\cf2\fi0\li0\ri0\outlinelevel1 MyTitolo 2
+;}
+{\s7\snext7\f1\fs19\fi0\li1192\ri0 Body Text;}
+{\s10\snext10\f2\fs22\tqc\tx4819\tqr\tx9638\fi0\li0\ri0 header;}
+{\s12\snext12\f2\fs22\tqc\tx4819\tqr\tx9638\fi0\li0\ri0 footer
+;}
+}
+\paperw11908\paperh16833\margl851\margr851\margt851\margb851\headery567\footery567\htmautsp1\nogrowautofit\deftab708\formshade\nofeaturethrottle1\fet4\aenddoc\aftnnrlc\pgbrdrhead\pgbrdrfoot
+\sectd\pgwsxn11908\pghsxn16833\marglsxn851\margrsxn851\margtsxn851\margbsxn851\headery567\footery567\sbkpage\pgncont\pgndec\ltrsect
+\plain\plain\f0\fs24
+\pard\ssparaaux0\s4\sb240\ltrpar\qj\outlinelevel1\lang1040\hich\f3\dbch\f3\loch\f3\fs18\expnd0\expndtw-2\ltrch\b Before\par
+\trowd\trgaph28\lastrow\trftsWidth3\trwWidth10010\trpaddl28\trpaddfl3\trpaddr28\trpaddfr3\trpaddt28\trpaddft3\trpaddb28\trpaddfb3\trleft-31\ltrrow
+\clvertalt\clbrdrt\brdrs\brdrw5\clbrdrb\brdrs\brdrw5\clbrdrl\brdrs\brdrw5\clbrdrr\brdrs\brdrw5\clpadl28\clpadfl3\clpadr28\clpadfr3\clpadt28\clpadft3\clpadb28\clpadfb3\cellx422
+\clvertalt\clbrdrt\brdrs\brdrw5\clbrdrb\brdrs\brdrw5\clbrdrl\brdrs\brdrw5\clbrdrr\brdrs\brdrw5\clpadl28\clpadfl3\clpadr28\clpadfr3\clpadt28\clpadft3\clpadb28\clpadfb3\cellx3853
+\clvertalt\clbrdrt\brdrs\brdrw5\clbrdrb\brdrs\brdrw5\clbrdrl\brdrs\brdrw5\clbrdrr\brdrs\brdrw5\clpadl28\clpadfl3\clpadr28\clpadfr3\clpadt28\clpadft3\clpadb28\clpadfb3\cellx4874
+\clvertalt\clbrdrt\brdrs\brdrw5\clbrdrb\brdrs\brdrw5\clbrdrl\brdrs\brdrw5\clbrdrr\brdrs\brdrw5\clpadl28\clpadfl3\clpadr28\clpadfr3\clpadt28\clpadft3\clpadb28\clpadfb3\cellx5895
+\clvertalt\clbrdrt\brdrs\brdrw5\clbrdrb\brdrs\brdrw5\clbrdrl\brdrs\brdrw5\clbrdrr\brdrs\brdrw5\clpadl28\clpadfl3\clpadr28\clpadfr3\clpadt28\clpadft3\clpadb28\clpadfb3\cellx6916
+\clvertalt\clbrdrt\brdrs\brdrw5\clbrdrb\brdrs\brdrw5\clbrdrl\brdrs\brdrw5\clbrdrr\brdrs\brdrw5\clpadl28\clpadfl3\clpadr28\clpadfr3\clpadt28\clpadft3\clpadb28\clpadfb3\cellx7937
+\clvertalt\clbrdrt\brdrs\brdrw5\clbrdrb\brdrs\brdrw5\clbrdrl\brdrs\brdrw5\clbrdrr\brdrs\brdrw5\clpadl28\clpadfl3\clpadr28\clpadfr3\clpadt28\clpadft3\clpadb28\clpadfb3\cellx8958
+\clvertalt\clbrdrt\brdrs\brdrw5\clbrdrb\brdrs\brdrw5\clbrdrl\brdrs\brdrw5\clbrdrr\brdrs\brdrw5\clpadl28\clpadfl3\clpadr28\clpadfr3\clpadt28\clpadft3\clpadb28\clpadfb3\cellx9979
+\pard\intbl\ssparaaux0\s7\ltrpar\ql\keep\keepn\widctlpar\plain\f0\fs24\lang1033\hich\f3\dbch\f3\loch\f3\fs16\ltrch\b A1\cell
+\pard\intbl\ssparaaux0\s7\ltrpar\ql\keep\keepn\widctlpar\plain\f0\fs24\lang1033\hich\f3\dbch\f3\loch\f3\fs16\ltrch\b B1\cell
+\pard\intbl\ssparaaux0\s7\ltrpar\qc\keep\keepn\widctlpar\plain\f0\fs24\lang1033\hich\f3\dbch\f3\loch\f3\fs16\ltrch\b C1\cell
+\pard\intbl\ssparaaux0\s7\ltrpar\qc\keep\keepn\widctlpar\plain\f0\fs24\lang1033\hich\f4\dbch\f4\loch\f4\fs16\ltrch\b D1\cell
+\pard\intbl\ssparaaux0\s7\ltrpar\qc\keep\keepn\widctlpar\plain\f0\fs24\lang1033\hich\f3\dbch\f3\loch\f3\fs16\ltrch\b E1\cell
+\pard\intbl\ssparaaux0\s7\ltrpar\qc\keep\keepn\widctlpar\plain\f0\fs24\lang1033\hich\f4\dbch\f4\loch\f4\fs16\ltrch\b F1\cell
+\pard\intbl\ssparaaux0\s7\ltrpar\qc\keep\keepn\widctlpar\plain\f0\fs24\lang1033\hich\f4\dbch\f4\loch\f4\fs16\ltrch\b G1\cell
+\pard\intbl\ssparaaux0\s7\ltrpar\qc\keep\keepn\widctlpar\plain\f0\fs24\lang1033\hich\f3\dbch\f3\loch\f3\fs16\ltrch\b H1\cell
+\hich\f2\dbch\f2\loch\f2\fs22\ltrch\b0\intbl\row
+\pard\par
+After\par
+}
diff --git a/sw/qa/extras/rtfexport/rtfexport.cxx b/sw/qa/extras/rtfexport/rtfexport.cxx
index 9ed2f52750d3..1e353dc2a99d 100644
--- a/sw/qa/extras/rtfexport/rtfexport.cxx
+++ b/sw/qa/extras/rtfexport/rtfexport.cxx
@@ -1132,6 +1132,16 @@ DECLARE_RTFEXPORT_TEST(testTdf103925, "tdf103925.rtf")
CPPUNIT_ASSERT_EQUAL(false, getProperty<bool>(getRun(getParagraph(1), 1), "CharFlash"));
}
+DECLARE_RTFEXPORT_TEST(testTdf104228, "tdf104228.rtf")
+{
+ uno::Reference<text::XTextTable> xTable(getParagraphOrTable(2), uno::UNO_QUERY);
+ uno::Reference<text::XTextRange> xCell(xTable->getCellByName("C1"), uno::UNO_QUERY);
+ uno::Reference<text::XTextRange> xParagraph = getParagraphOfText(1, xCell->getText());
+ // This was 2103, implicit 0 as direct formatting was ignored on the
+ // paragraph (and the style had this larger value).
+ CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0), getProperty<sal_Int32>(xParagraph, "ParaLeftMargin"));
+}
+
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerfilter/source/rtftok/rtfsprm.cxx b/writerfilter/source/rtftok/rtfsprm.cxx
index 2877dbf4b334..c7096f1c8754 100644
--- a/writerfilter/source/rtftok/rtfsprm.cxx
+++ b/writerfilter/source/rtftok/rtfsprm.cxx
@@ -144,6 +144,8 @@ static RTFValue::Pointer_t getDefaultSPRM(Id const id)
case NS_ooxml::LN_CT_Spacing_before:
case NS_ooxml::LN_CT_Spacing_after:
case NS_ooxml::LN_EG_RPrBase_b:
+ case NS_ooxml::LN_CT_Ind_left:
+ case NS_ooxml::LN_CT_Ind_right:
return std::make_shared<RTFValue>(0);
default: