summaryrefslogtreecommitdiff
path: root/writerfilter/source/dmapper/TablePropertiesHandler.cxx
diff options
context:
space:
mode:
authorLászló Németh <nemeth@numbertext.org>2020-01-27 12:14:52 +0100
committerLászló Németh <nemeth@numbertext.org>2020-01-27 17:06:53 +0100
commit8ffc1299ebf83450e67cf2a89304859e2558cd27 (patch)
tree6c5b1ec12afb43729d38c7bad99a9e945a049a3b /writerfilter/source/dmapper/TablePropertiesHandler.cxx
parent2be03a8e8159165d6a2f911d0c94f55b3d9e41d4 (diff)
tdf#95033 DOCX import: apply tblPrEx table border
exceptions of table rows, fixing for example missing cell borders. Change-Id: Id66af2706f564f46a1afd04bad65d1bf086a3232 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87514 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'writerfilter/source/dmapper/TablePropertiesHandler.cxx')
-rw-r--r--writerfilter/source/dmapper/TablePropertiesHandler.cxx19
1 files changed, 19 insertions, 0 deletions
diff --git a/writerfilter/source/dmapper/TablePropertiesHandler.cxx b/writerfilter/source/dmapper/TablePropertiesHandler.cxx
index 91a31800c740..aa9ad66b5903 100644
--- a/writerfilter/source/dmapper/TablePropertiesHandler.cxx
+++ b/writerfilter/source/dmapper/TablePropertiesHandler.cxx
@@ -213,6 +213,25 @@ namespace dmapper {
pManager->SetLayoutType(static_cast<sal_uInt32>(nIntValue));
}
break;
+ case NS_ooxml::LN_CT_TblPrEx_tblBorders:
+ {
+ writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps();
+ if( pProperties.get())
+ {
+ auto pBorderHandler = std::make_shared<BorderHandler>(true);
+ pProperties->resolve(*pBorderHandler);
+ TablePropertyMapPtr pTablePropMap( new TablePropertyMap );
+ pTablePropMap->InsertProps(pBorderHandler->getProperties());
+
+#ifdef DBG_UTIL
+ pTablePropMap->dumpXml();
+#endif
+ // store row-level table border exceptions in row properties temporarily
+ // and apply them on cells later
+ insertRowProps( pTablePropMap );
+ }
+ }
+ break;
case NS_ooxml::LN_CT_TcPrBase_tcBorders ://cell borders
//contains CT_TcBorders_left, right, top, bottom
{