sw/qa/extras/rtfimport/rtfimport.cxx | 13 +++++++++++++ writerfilter/source/rtftok/rtfdocumentimpl.cxx | 25 +++++++++++++++++++++++++ 2 files changed, 38 insertions(+)
New commits: commit 008d1187a9f3b36d6cbf31742632d237afecf1bd Author: Michael Stahl <mst...@redhat.com> Date: Fri Aug 1 10:47:49 2014 +0200 fdo#81893: writerfilter: RTF import: \qc before \page was lost The paragraph properties need to be applied to the paragraph following the \page too, which did not happen in this case. Also the minimized test doc shows that checkNeedPap() must be preceded by checkFirstRun(), since there is no run preceding the \page. (regression from 94765a1b3f543b3b60f8c1de05048d12f2576be4) Change-Id: Id286c4fbdeee688fa4f6b24063b634bac637eab6 diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx index 5c033c2..dd4367a 100644 --- a/sw/qa/extras/rtfimport/rtfimport.cxx +++ b/sw/qa/extras/rtfimport/rtfimport.cxx @@ -343,6 +343,10 @@ DECLARE_RTFIMPORT_TEST(testFdo81892, "fdo81892.rtf") uno::Reference<container::XIndexAccess> xTables(xTextTablesSupplier->getTextTables(), uno::UNO_QUERY); uno::Reference<text::XTextTable> xTable(xTables->getByIndex(0), uno::UNO_QUERY); CPPUNIT_ASSERT_EQUAL(text::HoriOrientation::CENTER, getProperty<sal_Int16>(xTable, "HoriOrient")); + + // fdo#81893: paragraph with \page was not centered + uno::Reference<text::XTextRange> xPara(getParagraph(2, "Performance")); + CPPUNIT_ASSERT_EQUAL(style::ParagraphAdjust_CENTER, static_cast<style::ParagraphAdjust>(getProperty<sal_Int16>(xPara, "ParaAdjust"))); } DECLARE_RTFIMPORT_TEST(testFdo45394, "fdo45394.rtf") diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index 61398ea..de0bdaa 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -2291,11 +2291,15 @@ int RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword) } else { + checkFirstRun(); checkNeedPap(); sal_uInt8 sBreak[] = { 0xc }; Mapper().text(sBreak, 1); if (!m_bNeedPap) + { parBreak(); + m_bNeedPap = true; + } m_bNeedCr = true; } } commit df041e468baf604f6e2606e5b632aa654b19a65d Author: Michael Stahl <mst...@redhat.com> Date: Fri Aug 1 10:44:00 2014 +0200 fdo#81892: writerfilter: RTF import: add support for table row alignment These keywords were simply not implemented. Change-Id: Ib4d07a4b2dfb07cfd56a4ee07d7c14d1c59323f9 diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx index bb9cbb4..5c033c2 100644 --- a/sw/qa/extras/rtfimport/rtfimport.cxx +++ b/sw/qa/extras/rtfimport/rtfimport.cxx @@ -336,6 +336,15 @@ DECLARE_RTFIMPORT_TEST(testFdo46955, "fdo46955.rtf") } } +DECLARE_RTFIMPORT_TEST(testFdo81892, "fdo81892.rtf") +{ + // table was not centered + uno::Reference<text::XTextTablesSupplier> xTextTablesSupplier(mxComponent, uno::UNO_QUERY); + uno::Reference<container::XIndexAccess> xTables(xTextTablesSupplier->getTextTables(), uno::UNO_QUERY); + uno::Reference<text::XTextTable> xTable(xTables->getByIndex(0), uno::UNO_QUERY); + CPPUNIT_ASSERT_EQUAL(text::HoriOrientation::CENTER, getProperty<sal_Int16>(xTable, "HoriOrient")); +} + DECLARE_RTFIMPORT_TEST(testFdo45394, "fdo45394.rtf") { uno::Reference<text::XText> xHeaderText = getProperty< uno::Reference<text::XText> >(getStyles("PageStyles")->getByName(DEFAULT_STYLE), "HeaderText"); diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index 3bba4c4..61398ea 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -2683,6 +2683,27 @@ int RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword) return 0; } + switch (nKeyword) + { + case RTF_TRQL: + nParam = 0; + break; + case RTF_TRQC: + nParam = 1; + break; + case RTF_TRQR: + nParam = 2; + break; + default: + break; + } + if (nParam >= 0) + { + RTFValue::Pointer_t const pValue(new RTFValue(nParam)); + m_aStates.top().aTableRowSprms.set(NS_ooxml::LN_CT_TrPrBase_jc, pValue); + return 0; + } + // Cell Text Flow switch (nKeyword) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits