summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Luth <justin_luth@sil.org>2017-06-29 13:47:21 -0400
committerJustin Luth <justin_luth@sil.org>2017-06-29 21:09:10 +0200
commit79225b5a70595740af500485253a4b2084e940f8 (patch)
treed498b72a3a6c9bc1479853231117953024d4a59b
parent7d2f53b874e586df6631f21fabb87aa5e45c36a3 (diff)
related tdf#82173 writerfilter: ensure Xnote para-style round-tripping
MSO Xnote styles are "footnote text"/"endnote text". LO Xnote styles are "Footnote"/"Endnote", and exports Footnote as "Footnote Text" and Endnote as "Endnote Text" The mapping ensures that the same Xnote style applies to both existing (loaded) notes, as well as newly inserted notes. This patch does two things: 1.) Endnote should not translate into Endnote Symbol. 2.) Prepare for when style mapping becomes case sensitive again Change-Id: I9881c069a3124f83cd0bc2a428577c4a382a8377 Reviewed-on: https://gerrit.libreoffice.org/39395 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Justin Luth <justin_luth@sil.org>
-rw-r--r--sw/qa/extras/ooxmlexport/ooxmlexport9.cxx10
-rw-r--r--writerfilter/source/dmapper/StyleSheetTable.cxx3
2 files changed, 11 insertions, 2 deletions
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
index 55582cce7800..30836becd964 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
@@ -526,6 +526,14 @@ DECLARE_OOXMLEXPORT_TEST(testTdf99227, "tdf99227.docx")
DECLARE_OOXMLEXPORT_TEST(testTdf82173_footnoteStyle, "tdf82173_footnoteStyle.docx")
{
+ uno::Reference<text::XFootnotesSupplier> xFootnotesSupplier(mxComponent, uno::UNO_QUERY);
+ uno::Reference<container::XIndexAccess> xFootnotes(xFootnotesSupplier->getFootnotes(), uno::UNO_QUERY);
+
+ uno::Reference<text::XText> xFootnoteText;
+ xFootnotes->getByIndex(0) >>= xFootnoteText;
+ // This was footnote text, which didn't match with newly created footnotes
+ CPPUNIT_ASSERT_EQUAL(OUString("Footnote"), getProperty<OUString>(getParagraphOfText(1, xFootnoteText), "ParaStyleName"));
+
uno::Reference<beans::XPropertySet> xPageStyle(getStyles("CharacterStyles")->getByName("Footnote Characters"), uno::UNO_QUERY);
CPPUNIT_ASSERT_EQUAL( sal_Int32(58), getProperty< sal_Int32 >(xPageStyle, "CharEscapementHeight") );
CPPUNIT_ASSERT_EQUAL( sal_Int32(0x00FF00), getProperty< sal_Int32 >(xPageStyle, "CharColor") );
@@ -547,7 +555,7 @@ DECLARE_OOXMLEXPORT_TEST(testTdf82173_endnoteStyle, "tdf82173_endnoteStyle.docx"
uno::Reference<text::XText> xEndnoteText;
xEndnotes->getByIndex(0) >>= xEndnoteText;
- // This was Footnote Symbol
+ // This was Endnote Symbol
CPPUNIT_ASSERT_EQUAL(OUString("Endnote"), getProperty<OUString>(getParagraphOfText(1, xEndnoteText), "ParaStyleName"));
CPPUNIT_ASSERT_EQUAL(sal_Int32(0x993300), getProperty<sal_Int32>(getParagraphOfText(1, xEndnoteText), "CharColor"));
diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx
index 699f605a52a6..2861377454ad 100644
--- a/writerfilter/source/dmapper/StyleSheetTable.cxx
+++ b/writerfilter/source/dmapper/StyleSheetTable.cxx
@@ -1349,6 +1349,7 @@ static const sal_Char* const aStyleNamePairs[] =
"TOC8", "Contents 8",
"TOC9", "Contents 9",
"Normal Indent", "",
+ "footnote text", "Footnote",
"Footnote Text", "Footnote",
"Annotation Text", "",
"Header", "Header",
@@ -1364,7 +1365,7 @@ static const sal_Char* const aStyleNamePairs[] =
"Page Number", "Page Number",
"Endnote Reference", "Endnote Characters",
"endnote text", "Endnote",
- "Endnote Text", "Endnote Symbol",
+ "Endnote Text", "Endnote",
"Table of Authorities", "",
"Macro Text", "",
"TOA Heading", "",