From 11e91719ef362e38b3b92e525763a5a89f4eeecb Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Wed, 3 Feb 2021 15:36:03 +0100 Subject: [PATCH] tdf#91920 sw page gutter margin: add ODF filter Note that the context filter is not set, since fo:margin affects left margin, but should not affect the gutter margin. Also put the new entry at the end, but before the header and footer sections, so the attribute is written to the correct XML element. Change-Id: I3588d4e76cd713efed168eb93b9456bba96727fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110375 Reviewed-by: Miklos Vajna Tested-by: Jenkins --- include/xmloff/xmltoken.hxx | 1 + .../OpenDocument-schema-v1.3+libreoffice.rng | 12 +++++++++++- sw/qa/extras/odfexport/data/gutter-left.odt | Bin 0 -> 19355 bytes sw/qa/extras/odfexport/odfexport.cxx | 13 +++++++++++++ xmloff/source/core/xmltoken.cxx | 1 + xmloff/source/style/PageMasterStyleMap.cxx | 3 +++ xmloff/source/token/tokens.txt | 1 + 7 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 sw/qa/extras/odfexport/data/gutter-left.odt diff --git a/include/xmloff/xmltoken.hxx b/include/xmloff/xmltoken.hxx index cba305a70610..96bff94874dd 100644 --- a/include/xmloff/xmltoken.hxx +++ b/include/xmloff/xmltoken.hxx @@ -3397,6 +3397,7 @@ namespace xmloff::token { XML_PAGE_CONTENT_TOP, XML_PAGE_CONTENT_BOTTOM, + XML_MARGIN_GUTTER, XML_TOKEN_END }; diff --git a/schema/libreoffice/OpenDocument-schema-v1.3+libreoffice.rng b/schema/libreoffice/OpenDocument-schema-v1.3+libreoffice.rng index 0c0b41ef4ca9..89913cbf7e63 100644 --- a/schema/libreoffice/OpenDocument-schema-v1.3+libreoffice.rng +++ b/schema/libreoffice/OpenDocument-schema-v1.3+libreoffice.rng @@ -2291,7 +2291,6 @@ xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1. - @@ -2304,6 +2303,17 @@ xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1. + + + + + + + + + + + diff --git a/sw/qa/extras/odfexport/data/gutter-left.odt b/sw/qa/extras/odfexport/data/gutter-left.odt new file mode 100644 index 0000000000000000000000000000000000000000..a5ce541ef078d6e0b03d43bf1b8b20ad88add3b2 GIT binary patch literal 19355 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 PK@bR2frXBOJBSAWjkIY~ literal 0 HcmV?d00001 diff --git a/sw/qa/extras/odfexport/odfexport.cxx b/sw/qa/extras/odfexport/odfexport.cxx index 15704c8eeaad..98712ae76fdc 100644 --- a/sw/qa/extras/odfexport/odfexport.cxx +++ b/sw/qa/extras/odfexport/odfexport.cxx @@ -2686,5 +2686,18 @@ DECLARE_ODFEXPORT_EXPORTONLY_TEST(tdf135942, "nestedTableInFooter.odt") assertXPath(pXmlDoc, "/office:document-styles/office:automatic-styles/style:style[@style:family='table']", 2); } +DECLARE_ODFEXPORT_TEST(testGutterLeft, "gutter-left.odt") +{ + uno::Reference xPageStyle; + getStyles("PageStyles")->getByName("Standard") >>= xPageStyle; + sal_Int32 nGutterMargin{}; + xPageStyle->getPropertyValue("GutterMargin") >>= nGutterMargin; + // Without the accompanying fix in place, this test would have failed with: + // - Expected: 1270 + // - Actual : 0 + // i.e. gutter margin was lost. + CPPUNIT_ASSERT_EQUAL(static_cast(1270), nGutterMargin); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx index bc8b04334ead..a75b152fb23b 100644 --- a/xmloff/source/core/xmltoken.cxx +++ b/xmloff/source/core/xmltoken.cxx @@ -3394,6 +3394,7 @@ namespace xmloff::token { TOKEN( "page-content-top", XML_PAGE_CONTENT_TOP ), TOKEN( "page-content-bottom", XML_PAGE_CONTENT_BOTTOM ), + TOKEN("margin-gutter", XML_MARGIN_GUTTER), #if OSL_DEBUG_LEVEL > 0 { 0, nullptr, std::nullopt, XML_TOKEN_END } diff --git a/xmloff/source/style/PageMasterStyleMap.cxx b/xmloff/source/style/PageMasterStyleMap.cxx index 18519b9132dc..d7b9f41e8f02 100644 --- a/xmloff/source/style/PageMasterStyleMap.cxx +++ b/xmloff/source/style/PageMasterStyleMap.cxx @@ -31,6 +31,8 @@ using namespace ::xmloff::token; MAP(name, prefix, token, type|XML_TYPE_PROP_PAGE_LAYOUT, context, SvtSaveOptions::ODFSVER_012) #define PLMAP_ODF13(name,prefix,token,type,context) \ MAP(name, prefix, token, type|XML_TYPE_PROP_PAGE_LAYOUT, context, SvtSaveOptions::ODFSVER_013) +#define PLMAP_EXT(name,prefix,token,type,context) \ + MAP(name, prefix, token, type|XML_TYPE_PROP_PAGE_LAYOUT, context, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED) #define HFMAP(name,prefix,token,type,context) \ MAP(name, prefix, token, type|XML_TYPE_PROP_HEADER_FOOTER, context, SvtSaveOptions::ODFSVER_010) @@ -153,6 +155,7 @@ const XMLPropertyMapEntry aXMLPageMasterStyleMap[] = PLMAP( "FootnoteLineTextDistance", XML_NAMESPACE_STYLE, XML__EMPTY, XML_TYPE_MEASURE|MID_FLAG_SPECIAL_ITEM, CTF_PM_FTN_LINE_DISTANCE ), PLMAP( "FootnoteLineWeight", XML_NAMESPACE_STYLE, XML_FOOTNOTE_SEP, XML_TYPE_MEASURE16|MID_FLAG_ELEMENT_ITEM, CTF_PM_FTN_LINE_WEIGHT ), PLMAP( "FootnoteLineStyle", XML_NAMESPACE_STYLE, XML_EMPTY, XML_TYPE_STRING|MID_FLAG_ELEMENT_ITEM, CTF_PM_FTN_LINE_STYLE ), + PLMAP_EXT("GutterMargin", XML_NAMESPACE_LO_EXT, XML_MARGIN_GUTTER, XML_TYPE_MEASURE, 0), ////////////////////////////////////////////////////////////////////////// //Index 92: Section for 'header-style' own section, all members *have* to use CTF_PM_HEADERFLAG in the context entry (the 5th one) diff --git a/xmloff/source/token/tokens.txt b/xmloff/source/token/tokens.txt index e23cd24abda6..930046909201 100644 --- a/xmloff/source/token/tokens.txt +++ b/xmloff/source/token/tokens.txt @@ -3152,4 +3152,5 @@ transliteration-spellout resolved page-content-top page-content-bottom +margin-gutter TOKEN_END_DUMMY