summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2014-02-28 20:14:12 +0100
committerLuboš Luňák <l.lunak@centrum.cz>2014-05-28 12:01:10 +0200
commit65ef769a60df0aad2dea9811713faa323757f0b2 (patch)
tree92e114cbcad71c859d55165ac0fbac97a1d9e208
parent40506e46ca01f812209331d60af859666bb1f931 (diff)
RTF import: fix paragraphs in header/footercp-4.1-8
(cherry picked from commit 74b3f4f00766d199df3b017d056cf7a00ae52988) Signed-off-by: Luboš Luňák <l.lunak@centrum.cz> Conflicts: sw/qa/extras/rtfimport/rtfimport.cxx Change-Id: I91f04cad7a39428ce6f9555d18b974f0d45181f7
-rw-r--r--sw/qa/extras/rtfimport/data/footer-para.rtf5
-rw-r--r--sw/qa/extras/rtfimport/rtfimport.cxx14
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx3
3 files changed, 21 insertions, 1 deletions
diff --git a/sw/qa/extras/rtfimport/data/footer-para.rtf b/sw/qa/extras/rtfimport/data/footer-para.rtf
new file mode 100644
index 000000000000..28863b202f17
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/footer-para.rtf
@@ -0,0 +1,5 @@
+{\rtf1\fbidis\ansi\ansicpg0\uc0\deff0\deflang0\deflangfe0\paperw11905\paperh16838\margl1200\margr1200\margt1200\margb1200\headery600\footery600\viewscale100\viewzk0\titlepg
+{\fonttbl{\f0\fnil Arial;}}
+{\footerf
+\pard\s0\fi0\li0\qc\ri0\sb0\sa0\itap0 \plain \f0\fs18 All Rights Reserved.\par}
+\pard\par}
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx
index e1a67282eb07..b3bc41f613af 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -1608,6 +1608,20 @@ DECLARE_RTFIMPORT_TEST(testDoDhgtOld, "do-dhgt-old.rtf")
CPPUNIT_ASSERT_EQUAL(OUString("b"), xShape->getString());
}
+DECLARE_RTFIMPORT_TEST(testFooterPara, "footer-para.rtf")
+{
+ // check that paragraph properties in footer are imported
+ uno::Reference<text::XText> xFooterText =
+ getProperty< uno::Reference<text::XText> >(
+ getStyles("PageStyles")->getByName("First Page"), "FooterText");
+ uno::Reference<text::XTextContent> xParagraph =
+ getParagraphOrTable(1, xFooterText);
+ CPPUNIT_ASSERT_EQUAL(OUString("All Rights Reserved."),
+ uno::Reference<text::XTextRange>(xParagraph, uno::UNO_QUERY)->getString());
+ CPPUNIT_ASSERT_EQUAL((sal_Int16)style::ParagraphAdjust_CENTER,
+ getProperty</*style::ParagraphAdjust*/sal_Int16>(xParagraph, "ParaAdjust"));
+}
+
#endif
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 3f6ebc73c5fd..8011bc791dfa 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -401,8 +401,9 @@ void RTFDocumentImpl::setNeedSect(bool bNeedSect)
if (!m_pSuperstream) // no sections in header/footer!
{
Mapper().startSectionGroup();
- m_bNeedSect = bNeedSect;
}
+ // set flag in substream too - otherwise multiple startParagraphGroup
+ m_bNeedSect = bNeedSect;
Mapper().startParagraphGroup();
setNeedPar(true);
}