summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorJustin Luth <justin_luth@sil.org>2018-03-30 21:22:44 +0300
committerMiklos Vajna <vmiklos@collabora.co.uk>2018-04-24 08:57:37 +0200
commit946fee3ef1e319ad63a599b72dbd55ef52cbc640 (patch)
tree588281d073314e6dc8f657ff3f405d8f4b973bd1 /sw
parent63dbd42d9bdc2eba7ac45a4f5c761f0806a0ea78 (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.odtbin0 -> 14255 bytes
-rw-r--r--sw/qa/extras/ooxmlexport/ooxmlexport9.cxx9
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
new file mode 100644
index 000000000000..af5e225ea08c
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/tdf106062_nonHangingFootnote.odt
Binary files differ
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 );