diff options
author | Vasily Melenchuk <vasily.melenchuk@cib.de> | 2022-03-30 13:09:19 +0300 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2022-04-01 08:38:32 +0200 |
commit | 4ef50c9ac03960c694c50e5a7488693422503357 (patch) | |
tree | ff3b8b3f05e9d75f602a65f5731a5acd30e22a93 | |
parent | 2143fa31b9035c7c2cf302ccd3907d0853132e8f (diff) |
tdf#116358: rtf import: "keep with next" also affects table rows
Like in DOCX for RTF there is exactly same behavior for paragraphs
inside cells. They do affect table breaking over the pages.
So:
1) Enable "TableRowKeep" doc setting for RTF documents.
2) Do not ignore \keepn token for paragraphs in tables.
Change-Id: I11e45ca9114c792b8cdbeb77dd51359717129651
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132305
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132355
-rw-r--r-- | sw/qa/extras/rtfexport/data/tdf116358.rtf | 116 | ||||
-rw-r--r-- | sw/qa/extras/rtfexport/rtfexport4.cxx | 30 | ||||
-rw-r--r-- | sw/rtfexport_setup.mk | 1 | ||||
-rw-r--r-- | writerfilter/source/dmapper/SettingsTable.cxx | 6 | ||||
-rw-r--r-- | writerfilter/source/filter/WriterFilter.cxx | 1 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtfdispatchflag.cxx | 3 |
6 files changed, 152 insertions, 5 deletions
diff --git a/sw/qa/extras/rtfexport/data/tdf116358.rtf b/sw/qa/extras/rtfexport/data/tdf116358.rtf new file mode 100644 index 000000000000..09a9b3f8ead8 --- /dev/null +++ b/sw/qa/extras/rtfexport/data/tdf116358.rtf @@ -0,0 +1,116 @@ +{\rtf1\ansi\deff3\adeflang1025
+{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\froman\fprq2\fcharset204 Liberation Serif{\*\falt Times New Roman};}{\f4\froman\fprq2\fcharset204 Times New Roman;}{\f5\froman\fprq2\fcharset204 Liberation Sans{\*\falt Arial};}{\f6\fnil\fprq2\fcharset204 Microsoft YaHei;}{\f7\fnil\fprq2\fcharset204 0;}{\f8\fnil\fprq2\fcharset204 Times New Roman;}{\f9\fnil\fprq2\fcharset204 Lucida Sans;}}
+{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}
+{\stylesheet{\s0\snext0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052 Normal;}
+{\s15\sbasedon0\snext16\rtlch\af9\afs28\alang1081 \ltrch\lang2057\langfe2052\hich\af5\loch\ql\widctlpar\hyphpar0\sb240\sa120\keepn\ltrpar\cf0\f5\fs28\lang2057\kerning1\dbch\af6\langfe2052 Heading;}
+{\s16\sbasedon0\snext16\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\sl276\slmult1\ql\widctlpar\hyphpar0\sb0\sa140\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052 Text Body;}
+{\s17\sbasedon16\snext17\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\sl276\slmult1\ql\widctlpar\hyphpar0\sb0\sa140\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052 List;}
+{\s18\sbasedon0\snext18\rtlch\af9\afs24\alang1081\ai \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\sb120\sa120\ltrpar\cf0\f3\fs24\lang2057\i\kerning1\dbch\af7\langfe2052 Caption;}
+{\s19\sbasedon0\snext19\rtlch\af9\afs24\alang255 \ltrch\lang255\langfe255\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang255\kerning1\dbch\af7\langfe255 Index;}
+{\s20\sbasedon0\snext20\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\nowidctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052 Table Contents;}
+}{\*\generator LibreOfficeDev/7.4.0.0.alpha0$Windows_X86_64 LibreOffice_project/1e1cab9d5a0728c13209aeed95b6802175799a0a}{\info{\creatim\yr2022\mo3\dy30\hr9\min3}{\revtim\yr2022\mo3\dy30\hr9\min11}{\printim\yr0\mo0\dy0\hr0\min0}}{\*\userprops}\deftab709
+\hyphauto1\viewscale100
+{\*\pgdsctbl
+{\pgdsc0\pgdscuse451\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt0 Default Page Style;}}
+\formshade\paperh16838\paperw11906\margl1134\margr1134\margt1134\margb1134\sectd\sbknone\pgndec\sftnnar\saftnnrlc\sectunlocked1\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
+{\*\ftnsep\chftnsep}\pgndec\pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052{\loch
+A}
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch
+
+\par \trowd\trql\trleft-15\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrt\brdrs\brdrw10\brdrcf1\clpadfl3\clpadl55\clbrdrl\brdrs\brdrw10\brdrcf1\clpadft3\clpadt55\clbrdrb\brdrs\brdrw10\brdrcf1\clpadfb3\clpadb55\clbrdrr\brdrs\brdrw10\brdrcf1\clpadfr3\clpadr55\cellx9623\pard\plain \s20\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\nowidctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch\keepn\intbl\nowidctlpar\rtlch\af8\afs24 \ltrch\hich\af4\loch\cf1\fs24\f4\dbch\af8\loch
+\cell\row\pard\trowd\trql\trleft-15\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clpadfl3\clpadl55\clbrdrl\brdrs\brdrw10\brdrcf1\clpadft3\clpadt55\clbrdrb\brdrs\brdrw10\brdrcf1\clpadfb3\clpadb55\clbrdrr\brdrs\brdrw10\brdrcf1\clpadfr3\clpadr55\cellx9623\pard\plain \s20\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\nowidctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch\keepn\intbl\nowidctlpar\rtlch\af8\afs24 \ltrch\hich\af4\loch\cf1\fs24\f4\dbch\af8\loch
+\cell\row\pard\pard\plain \s0\rtlch\af9\afs24\alang1081 \ltrch\lang2057\langfe2052\hich\af3\loch\ql\widctlpar\hyphpar0\ltrpar\cf0\f3\fs24\lang2057\kerning1\dbch\af7\langfe2052\loch\nowidctlpar{\loch
+b}
+\par }
\ No newline at end of file diff --git a/sw/qa/extras/rtfexport/rtfexport4.cxx b/sw/qa/extras/rtfexport/rtfexport4.cxx index 55ae121a695b..32f1a5f88cad 100644 --- a/sw/qa/extras/rtfexport/rtfexport4.cxx +++ b/sw/qa/extras/rtfexport/rtfexport4.cxx @@ -25,6 +25,7 @@ #include <pam.hxx> #include <fmtanchr.hxx> #include <frameformats.hxx> +#include <wrtsh.hxx> using namespace css; @@ -402,6 +403,35 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf126309) static_cast<style::ParagraphAdjust>(getProperty<sal_Int16>(getParagraph(1), "ParaAdjust"))); } +DECLARE_RTFEXPORT_TEST(testTdf116358, "tdf116358.rtf") +{ + SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get()); + CPPUNIT_ASSERT(pTextDoc); + SwWrtShell* pWrtShell = pTextDoc->GetDocShell()->GetWrtShell(); + CPPUNIT_ASSERT(pWrtShell); + + // Insert a paragraph break + pWrtShell->SplitNode(false); + + // Entire table should go to page 2, no remains on first page + xmlDocUniquePtr pDump = parseLayoutDump(); + { + xmlXPathObjectPtr pXmlObj = getXPathNode(pDump, "/root/page[1]/body/tab"); + xmlNodeSetPtr pXmlNodes = pXmlObj->nodesetval; + sal_Int32 tablesOnPage = xmlXPathNodeSetGetLength(pXmlNodes); + xmlXPathFreeObject(pXmlObj); + CPPUNIT_ASSERT_EQUAL(sal_Int32(0), tablesOnPage); + } + + { + xmlXPathObjectPtr pXmlObj = getXPathNode(pDump, "/root/page[2]/body/tab"); + xmlNodeSetPtr pXmlNodes = pXmlObj->nodesetval; + sal_Int32 tablesOnPage = xmlXPathNodeSetGetLength(pXmlNodes); + xmlXPathFreeObject(pXmlObj); + CPPUNIT_ASSERT_EQUAL(sal_Int32(1), tablesOnPage); + } +} + CPPUNIT_TEST_FIXTURE(Test, testGutterLeft) { load(mpTestDocumentPath, "gutter-left.rtf"); diff --git a/sw/rtfexport_setup.mk b/sw/rtfexport_setup.mk index 40bbfb62321a..3ea61755d467 100644 --- a/sw/rtfexport_setup.mk +++ b/sw/rtfexport_setup.mk @@ -45,6 +45,7 @@ $(eval $(call gb_CppunitTest_use_externals,sw_rtfexport$(1),\ $(eval $(call gb_CppunitTest_set_include,sw_rtfexport$(1),\ -I$(SRCDIR)/sw/inc \ -I$(SRCDIR)/sw/source/core/inc \ + -I$(SRCDIR)/sw/source/uibase/inc \ -I$(SRCDIR)/sw/qa/inc \ $$(INCLUDE) \ )) diff --git a/writerfilter/source/dmapper/SettingsTable.cxx b/writerfilter/source/dmapper/SettingsTable.cxx index 732b96ff96db..3e6afe7b5fa1 100644 --- a/writerfilter/source/dmapper/SettingsTable.cxx +++ b/writerfilter/source/dmapper/SettingsTable.cxx @@ -539,11 +539,13 @@ static bool lcl_isDefault(const uno::Reference<beans::XPropertyState>& xProperty void SettingsTable::ApplyProperties(uno::Reference<text::XTextDocument> const& xDoc) { uno::Reference< beans::XPropertySet> xDocProps( xDoc, uno::UNO_QUERY ); + uno::Reference<lang::XMultiServiceFactory> xTextFactory(xDoc, uno::UNO_QUERY_THROW); + uno::Reference<beans::XPropertySet> xDocumentSettings(xTextFactory->createInstance("com.sun.star.document.Settings"), uno::UNO_QUERY_THROW); + + xDocumentSettings->setPropertyValue("TableRowKeep", uno::makeAny(true)); if (GetWordCompatibilityMode() <= 14) { - uno::Reference<lang::XMultiServiceFactory> xTextFactory(xDoc, uno::UNO_QUERY_THROW); - uno::Reference<beans::XPropertySet> xDocumentSettings(xTextFactory->createInstance("com.sun.star.document.Settings"), uno::UNO_QUERY_THROW); xDocumentSettings->setPropertyValue("MsWordCompMinLineHeightByFly", uno::makeAny(true)); xDocumentSettings->setPropertyValue("TabOverMargin", uno::makeAny(true)); } diff --git a/writerfilter/source/filter/WriterFilter.cxx b/writerfilter/source/filter/WriterFilter.cxx index f62dff1fe19a..945a00f95258 100644 --- a/writerfilter/source/filter/WriterFilter.cxx +++ b/writerfilter/source/filter/WriterFilter.cxx @@ -314,7 +314,6 @@ void WriterFilter::setTargetDocument(const uno::Reference<lang::XComponent>& xDo xSettings->setPropertyValue("UseFormerObjectPositioning", uno::makeAny(false)); xSettings->setPropertyValue("ConsiderTextWrapOnObjPos", uno::makeAny(true)); xSettings->setPropertyValue("UseFormerTextWrapping", uno::makeAny(false)); - xSettings->setPropertyValue("TableRowKeep", uno::makeAny(true)); xSettings->setPropertyValue("IgnoreTabsAndBlanksForLineCalculation", uno::makeAny(true)); xSettings->setPropertyValue("InvertBorderSpacing", uno::makeAny(true)); xSettings->setPropertyValue("CollapseEmptyCellPara", uno::makeAny(true)); diff --git a/writerfilter/source/rtftok/rtfdispatchflag.cxx b/writerfilter/source/rtftok/rtfdispatchflag.cxx index 83c5a0966259..3aee1e1dda75 100644 --- a/writerfilter/source/rtftok/rtfdispatchflag.cxx +++ b/writerfilter/source/rtftok/rtfdispatchflag.cxx @@ -421,8 +421,7 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword) nParam = NS_ooxml::LN_CT_PPrBase_keepLines; break; case RTFKeyword::KEEPN: - if (m_aStates.top().getCurrentBuffer() != &m_aTableBufferStack.back()) - nParam = NS_ooxml::LN_CT_PPrBase_keepNext; + nParam = NS_ooxml::LN_CT_PPrBase_keepNext; break; case RTFKeyword::INTBL: { |