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 <vmiklos@collabora.com>
Tested-by: Jenkins
This commit is contained in:
Miklos Vajna
2021-02-03 16:55:51 +01:00
parent acfd369ebb
commit 11e91719ef
7 changed files with 30 additions and 1 deletions
+1
View File
@@ -3397,6 +3397,7 @@ namespace xmloff::token {
XML_PAGE_CONTENT_TOP,
XML_PAGE_CONTENT_BOTTOM,
XML_MARGIN_GUTTER,
XML_TOKEN_END
};
@@ -2291,7 +2291,6 @@ xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.
</rng:optional>
</rng:define>
<!-- TODO: no proposal for loext:vertical-rel="page-content-top" -->
<!-- https://issues.oasis-open.org/browse/OFFICE-4073 -->
<rng:define name="common-vertical-rel-attlist" combine="interleave">
<rng:optional>
@@ -2304,6 +2303,17 @@ xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.
</rng:optional>
</rng:define>
<!-- TODO: no proposal for loext:margin-gutter="..." -->
<rng:define name="style-page-layout-properties-attlist" combine="interleave">
<rng:optional>
<rng:attribute name="loext:margin-gutter">
<rng:choice>
<rng:ref name="length"/>
</rng:choice>
</rng:attribute>
</rng:optional>
</rng:define>
<!-- just a test-case for user-defined attributes, move along, nothing to see here... -->
<rng:define name="style-table-cell-properties-attlist" combine="interleave">
<rng:optional>
Binary file not shown.
+13
View File
@@ -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<beans::XPropertySet> 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<sal_Int32>(1270), nGutterMargin);
}
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+1
View File
@@ -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 }
@@ -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)
+1
View File
@@ -3152,4 +3152,5 @@ transliteration-spellout
resolved
page-content-top
page-content-bottom
margin-gutter
TOKEN_END_DUMMY