summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2021-03-30 14:09:06 +0200
committerMiklos Vajna <vmiklos@collabora.com>2021-03-30 20:03:57 +0200
commitbcbf1c245fa13cfbae2059a996006179c7f4b747 (patch)
treeda537e9b30f33ae85989218b2ab37c0ce18c7f0f
parent64788738db595cb642b7efd49340cae33d92698e (diff)
tdf#140343 sw page rtl gutter margin: add UNO API
When true, the gutter position may be right and top, not left and top. Change-Id: I5e3e4b4d9cb217b81b2712cb208ca5725d46ae28 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113349 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
-rw-r--r--offapi/com/sun/star/style/PageProperties.idl6
-rw-r--r--sw/qa/core/unocore/unocore.cxx14
-rw-r--r--sw/source/core/unocore/unomap1.cxx1
3 files changed, 21 insertions, 0 deletions
diff --git a/offapi/com/sun/star/style/PageProperties.idl b/offapi/com/sun/star/style/PageProperties.idl
index 29b561e34538..3189f569d4df 100644
--- a/offapi/com/sun/star/style/PageProperties.idl
+++ b/offapi/com/sun/star/style/PageProperties.idl
@@ -501,6 +501,12 @@ published service PageProperties
*/
[optional, property] boolean BackgroundFullSize;
+ /** specifies that the page gutter shall be placed on the right side of the page.
+
+ @since LibreOffice 7.2
+ */
+ [optional, property] boolean RtlGutter;
+
};
}; }; }; };
diff --git a/sw/qa/core/unocore/unocore.cxx b/sw/qa/core/unocore/unocore.cxx
index 62c3f439c4e5..cf701a25d423 100644
--- a/sw/qa/core/unocore/unocore.cxx
+++ b/sw/qa/core/unocore/unocore.cxx
@@ -82,6 +82,20 @@ CPPUNIT_TEST_FIXTURE(SwCoreUnocoreTest, flyAtParaAnchor)
xText->insertTextContent(xAnchor, xFieldmark, false);
}
+CPPUNIT_TEST_FIXTURE(SwCoreUnocoreTest, testRtlGutter)
+{
+ mxComponent = loadFromDesktop("private:factory/swriter", "com.sun.star.text.TextDocument");
+ uno::Reference<beans::XPropertySet> xPageStyle(getStyles("PageStyles")->getByName("Standard"),
+ uno::UNO_QUERY);
+ // Without the accompanying fix in place, this test would have failed with:
+ // - Unknown property: RtlGutter
+ auto bRtlGutter = getProperty<bool>(xPageStyle, "RtlGutter");
+ CPPUNIT_ASSERT(!bRtlGutter);
+ xPageStyle->setPropertyValue("RtlGutter", uno::makeAny(true));
+ bRtlGutter = getProperty<bool>(xPageStyle, "RtlGutter");
+ CPPUNIT_ASSERT(bRtlGutter);
+}
+
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/unocore/unomap1.cxx b/sw/source/core/unocore/unomap1.cxx
index 572f1f752c61..803c93f94b1b 100644
--- a/sw/source/core/unocore/unomap1.cxx
+++ b/sw/source/core/unocore/unomap1.cxx
@@ -570,6 +570,7 @@ const SfxItemPropertyMapEntry* SwUnoPropertyMapProvider::GetPageStylePropertyMa
// This entry is for adding that properties to style import/export
FILL_PROPERTIES_SW
{ u"BackgroundFullSize", RES_BACKGROUND_FULL_SIZE, cppu::UnoType<bool>::get(), PROPERTY_NONE, 0 },
+ { u"RtlGutter", RES_RTL_GUTTER, cppu::UnoType<bool>::get(), PROPERTY_NONE, 0 },
// Added DrawingLayer FillStyle Properties for Header. These need an own unique name,
// but reuse the same WhichIDs as the regular fill. The implementation will decide to which