diff options
author | Justin Luth <justin_luth@sil.org> | 2018-03-30 21:22:44 +0300 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2018-04-24 08:57:37 +0200 |
commit | 946fee3ef1e319ad63a599b72dbd55ef52cbc640 (patch) | |
tree | 588281d073314e6dc8f657ff3f405d8f4b973bd1 /sw | |
parent | 63dbd42d9bdc2eba7ac45a4f5c761f0806a0ea78 (diff) |
tdf#106062 ooxmlimport: skip fake tab only on hanging indent
Export has changed, so that it only exports a tab when the
footnote paragraph has a hanging indent. Adjusting the import
code to match that change.
Please test with MSO before flagging this patch as a regression.
Certainly there will be some documents previously saved by LO
which will now, in LO, show an extra tab character after the footnote.
Any previously saved document without a hanging indent will display
this extra tab. However, MSO has always seen that extra tab, so
these patches are enhancing compatibility.
This patch corrects several incorrect assumptions:
-The paragraph style is not necessarily "Footnote".
-The paragraph may have directly defined a hanging margin.
-An aesthetic tab is needed on a hanging indent, not a defined margin.
Change-Id: Ieaa76448ce202d92efdb8d1fc04ba2674ed120ba
Reviewed-on: https://gerrit.libreoffice.org/52172
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Justin Luth <justin_luth@sil.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/tdf106062_nonHangingFootnote.odt | bin | 0 -> 14255 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlexport9.cxx | 9 |
2 files changed, 9 insertions, 0 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/tdf106062_nonHangingFootnote.odt b/sw/qa/extras/ooxmlexport/data/tdf106062_nonHangingFootnote.odt Binary files differnew file mode 100644 index 000000000000..af5e225ea08c --- /dev/null +++ b/sw/qa/extras/ooxmlexport/data/tdf106062_nonHangingFootnote.odt diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx index 24397c8688a6..9a10e7d0f2cb 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx @@ -917,6 +917,15 @@ DECLARE_OOXMLEXPORT_TEST(testTdf105095, "tdf105095.docx") CPPUNIT_ASSERT_EQUAL( OUString("\tfootnote"), xTextRange->getString() ); } +DECLARE_OOXMLEXPORT_TEST(testTdf106062_nonHangingFootnote, "tdf106062_nonHangingFootnote.odt") +{ + uno::Reference<text::XFootnotesSupplier> xFootnotesSupplier(mxComponent, uno::UNO_QUERY); + uno::Reference<container::XIndexAccess> xFootnotes(xFootnotesSupplier->getFootnotes(), uno::UNO_QUERY); + uno::Reference<text::XTextRange> xTextRange(xFootnotes->getByIndex(0), uno::UNO_QUERY); + // This failed, tab between the footnote number and the footnote content was lost on import. + CPPUNIT_ASSERT_MESSAGE( "Footnote starts with a tab", xTextRange->getString().startsWith("\t") ); +} + DECLARE_OOXMLEXPORT_TEST( testActiveXCheckbox, "activex_checkbox.docx" ) { uno::Reference<drawing::XControlShape> xControlShape( getShape(1), uno::UNO_QUERY ); |