From 0d2da0acfaa610c690bce552c0ed5df62d4c35cb Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Tue, 5 Mar 2019 13:47:10 +0100 Subject: tdf#123829 Respect CollapseEmptyCellPara setting when reading odf docs Commit 56b2cf0c10d9caa01ebae1d80465e342d046a85c introduced a "feature" which would hide an empty line after a table and only make it visible when the cursor is in it. So when loading an ODF doc, only enable this feature for which have the CollapseEmptyCellPara setting set. Change-Id: Ib4dfbbe8d45eb57547c51c7eee2f81331fc5300e Reviewed-on: https://gerrit.libreoffice.org/68742 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt --- sw/qa/extras/odfimport/data/tdf123829.odt | Bin 0 -> 10676 bytes sw/qa/extras/odfimport/odfimport.cxx | 11 +++++++++++ sw/source/filter/xml/xmlimp.cxx | 6 ++++++ 3 files changed, 17 insertions(+) create mode 100644 sw/qa/extras/odfimport/data/tdf123829.odt diff --git a/sw/qa/extras/odfimport/data/tdf123829.odt b/sw/qa/extras/odfimport/data/tdf123829.odt new file mode 100644 index 000000000000..3219b4156182 Binary files /dev/null and b/sw/qa/extras/odfimport/data/tdf123829.odt differ diff --git a/sw/qa/extras/odfimport/odfimport.cxx b/sw/qa/extras/odfimport/odfimport.cxx index 84133227b642..a911635d3a6d 100644 --- a/sw/qa/extras/odfimport/odfimport.cxx +++ b/sw/qa/extras/odfimport/odfimport.cxx @@ -23,6 +23,7 @@ #include #include +#include #include #include #include @@ -916,5 +917,15 @@ DECLARE_ODFIMPORT_TEST(testTdf120677, "tdf120677.fodt") // The document used to hang the layout, consuming memory until OOM } +DECLARE_ODFIMPORT_TEST(testTdf123829, "tdf123829.odt") +{ + SwXTextDocument* pTextDoc = dynamic_cast(mxComponent.get()); + CPPUNIT_ASSERT(pTextDoc); + SwDoc* pDoc = pTextDoc->GetDocShell()->GetDoc(); + CPPUNIT_ASSERT_EQUAL_MESSAGE( + "Compatibility: collapse cell paras should not be set", false, + pDoc->getIDocumentSettingAccess().get(DocumentSettingId::COLLAPSE_EMPTY_CELL_PARA)); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/filter/xml/xmlimp.cxx b/sw/source/filter/xml/xmlimp.cxx index abc22321a47d..80a5a9aeeeba 100644 --- a/sw/source/filter/xml/xmlimp.cxx +++ b/sw/source/filter/xml/xmlimp.cxx @@ -1392,6 +1392,7 @@ void SwXMLImport::SetConfigurationSettings(const Sequence < PropertyValue > & aC bool bPropLineSpacingShrinksFirstLine = false; bool bSubtractFlysAnchoredAtFlys = false; bool bDisableOffPagePositioning = false; + bool bCollapseEmptyCellPara = false; const PropertyValue* currentDatabaseDataSource = nullptr; const PropertyValue* currentDatabaseCommand = nullptr; @@ -1489,6 +1490,8 @@ void SwXMLImport::SetConfigurationSettings(const Sequence < PropertyValue > & aC bSubtractFlysAnchoredAtFlys = true; else if (pValues->Name == "DisableOffPagePositioning") bDisableOffPagePositioning = true; + else if (pValues->Name == "CollapseEmptyCellPara") + bCollapseEmptyCellPara = true; } catch( Exception& ) { @@ -1660,6 +1663,9 @@ void SwXMLImport::SetConfigurationSettings(const Sequence < PropertyValue > & aC if ( bDisableOffPagePositioning ) xProps->setPropertyValue("DisableOffPagePositioning", makeAny(true)); + if (!bCollapseEmptyCellPara) + xProps->setPropertyValue("CollapseEmptyCellPara", makeAny(false)); + SwDoc *pDoc = getDoc(); SfxPrinter *pPrinter = pDoc->getIDocumentDeviceAccess().getPrinter( false ); if( pPrinter ) -- cgit