summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2014-07-18 10:50:54 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-07-18 10:59:37 +0200
commit6f2b2e1436fe3917c1fcace2f1e2d34416311996 (patch)
tree6ab56fb9e5a92732ed1f12c89ba66e23944c8307
parent7f854bb83a007bb36629c839049f6d47e3ad4643 (diff)
writerfilter: import RTF_NOCOLBAL
Change-Id: If2efab82c0adc2f3dc52733c335693565c350bfa
-rw-r--r--sw/qa/extras/rtfimport/data/unbalanced-columns-compat.rtf7
-rw-r--r--sw/qa/extras/rtfimport/rtfimport.cxx8
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx3
3 files changed, 18 insertions, 0 deletions
diff --git a/sw/qa/extras/rtfimport/data/unbalanced-columns-compat.rtf b/sw/qa/extras/rtfimport/data/unbalanced-columns-compat.rtf
new file mode 100644
index 000000000000..1e4b17eec16d
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/unbalanced-columns-compat.rtf
@@ -0,0 +1,7 @@
+{\rtf1
+\nocolbal\sectd\cols2\pard\plain
+This is in the left column.\par
+This is the second line, in the same column.\par
+\sect\sectd\sbknone\pard\plain
+After section break.\par
+}
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx
index 76de5bbdc766..a2ff94f913a8 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -1784,6 +1784,14 @@ DECLARE_RTFIMPORT_TEST(testFdo80905, "fdo80905.rtf")
CPPUNIT_ASSERT_EQUAL(true, static_cast<bool>(xFields->hasMoreElements()));
}
+DECLARE_RTFIMPORT_TEST(testUnbalancedColumnsCompat, "unbalanced-columns-compat.rtf")
+{
+ uno::Reference<text::XTextSectionsSupplier> xTextSectionsSupplier(mxComponent, uno::UNO_QUERY);
+ uno::Reference<container::XIndexAccess> xTextSections(xTextSectionsSupplier->getTextSections(), uno::UNO_QUERY);
+ // This was false, we ignored the relevant compat setting to make this non-last section unbalanced.
+ CPPUNIT_ASSERT_EQUAL(true, getProperty<bool>(xTextSections->getByIndex(0), "DontBalanceTextColumns"));
+}
+
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 8d54a69f2388..6fe2bdc586f0 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -3311,6 +3311,9 @@ int RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
case RTF_BRDRSH:
lcl_putBorderProperty(m_aStates, NS_ooxml::LN_CT_Border_shadow, RTFValue::Pointer_t(new RTFValue(1)));
break;
+ case RTF_NOCOLBAL:
+ m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Compat_noColumnBalance, RTFValue::Pointer_t(new RTFValue(1)));
+ break;
default:
{
SAL_INFO("writerfilter", "TODO handle flag '" << lcl_RtfToString(nKeyword) << "'");