sw/qa/extras/ooxmlexport/data/table-alignment.docx |binary sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 10 ++++++++++ writerfilter/source/dmapper/ConversionHelper.cxx | 12 +++++++++--- writerfilter/source/dmapper/TablePropertiesHandler.cxx | 1 - writerfilter/source/rtftok/rtfdocumentimpl.cxx | 6 +++--- 5 files changed, 22 insertions(+), 7 deletions(-)
New commits: commit e85d8f9c5aadee9872ec6d7f33567f9ed84b478d Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Fri Sep 19 13:52:37 2014 +0200 fdo#83728 DOCX import: fix table alignment Regression from 614b31615e69b527e669635245cf59faf9c9e2fc (Use NS_ooxml::LN_Value_ST_Jc_{right,end} constants, 2014-09-05), one more remnant from doctok. Change-Id: Ibab68eada337a3fe1bc919987a09a8b146f86ac9 diff --git a/sw/qa/extras/ooxmlexport/data/table-alignment.docx b/sw/qa/extras/ooxmlexport/data/table-alignment.docx new file mode 100644 index 0000000..e1efaae Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/table-alignment.docx differ diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx index 15e0eae..953a036 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx @@ -11,6 +11,7 @@ #include <com/sun/star/awt/XBitmap.hpp> #include <com/sun/star/graphic/XGraphic.hpp> +#include <com/sun/star/text/HoriOrientation.hpp> #include <com/sun/star/text/XTextRangeCompare.hpp> #include <string> @@ -232,6 +233,15 @@ DECLARE_OOXMLEXPORT_TEST(testDropdownInCell, "dropdown-in-cell.docx") CPPUNIT_ASSERT_EQUAL(sal_Int16(0), xTextRangeCompare->compareRegionStarts(xAnchor, xCell)); } +DECLARE_OOXMLEXPORT_TEST(testTableAlignment, "table-alignment.docx") +{ + uno::Reference<text::XTextTablesSupplier> xTablesSupplier(mxComponent, uno::UNO_QUERY); + uno::Reference<container::XIndexAccess> xTables(xTablesSupplier->getTextTables(), uno::UNO_QUERY); + uno::Reference<text::XTextTable> xTable(xTables->getByIndex(0), uno::UNO_QUERY); + // This was LEFT_AND_WIDTH, i.e. table alignment wasn't imported correctly. + CPPUNIT_ASSERT_EQUAL(text::HoriOrientation::RIGHT, getProperty<sal_Int16>(xTable, "HoriOrient")); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/source/dmapper/ConversionHelper.cxx b/writerfilter/source/dmapper/ConversionHelper.cxx index 95d46f7..d2dd41e 100644 --- a/writerfilter/source/dmapper/ConversionHelper.cxx +++ b/writerfilter/source/dmapper/ConversionHelper.cxx @@ -252,9 +252,15 @@ sal_Int16 convertTableJustification( sal_Int32 nIntValue ) sal_Int16 nOrient = text::HoriOrientation::LEFT_AND_WIDTH; switch( nIntValue ) { - case 1 : nOrient = text::HoriOrientation::CENTER; break; - case 2 : nOrient = text::HoriOrientation::RIGHT; break; - case 0 : + case NS_ooxml::LN_Value_ST_Jc_center: + nOrient = text::HoriOrientation::CENTER; + break; + case NS_ooxml::LN_Value_ST_Jc_right: + case NS_ooxml::LN_Value_ST_Jc_end: + nOrient = text::HoriOrientation::RIGHT; + break; + case NS_ooxml::LN_Value_ST_Jc_left: + case NS_ooxml::LN_Value_ST_Jc_start: //no break default:; diff --git a/writerfilter/source/dmapper/TablePropertiesHandler.cxx b/writerfilter/source/dmapper/TablePropertiesHandler.cxx index 6776a3a..1e3fa21 100644 --- a/writerfilter/source/dmapper/TablePropertiesHandler.cxx +++ b/writerfilter/source/dmapper/TablePropertiesHandler.cxx @@ -72,7 +72,6 @@ namespace dmapper { case NS_ooxml::LN_CT_TblPrBase_jc: case 0x5400: // sprmTJc { - //table justification 0: left, 1: center, 2: right sal_Int16 nOrient = ConversionHelper::convertTableJustification( nIntValue ); TablePropertyMapPtr pTableMap( new TablePropertyMap ); pTableMap->setValue( TablePropertyMap::HORI_ORIENT, nOrient ); diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index 2b22101..2fdbccd 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -2741,13 +2741,13 @@ int RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword) switch (nKeyword) { case RTF_TRQL: - nParam = 0; + nParam = NS_ooxml::LN_Value_ST_Jc_left; break; case RTF_TRQC: - nParam = 1; + nParam = NS_ooxml::LN_Value_ST_Jc_center; break; case RTF_TRQR: - nParam = 2; + nParam = NS_ooxml::LN_Value_ST_Jc_right; break; default: break; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits