[Libreoffice-commits] core.git: editeng/source include/editeng offapi/com offapi/type_reference qadevOOo/runner qadevOOo/tests sc/inc sc/source svx/source sw/inc sw/source writerfilter/source

Tomaž Vajngerl tomaz.vajngerl at collabora.co.uk
Mon May 7 14:30:57 UTC 2018


 editeng/source/items/frmitems.cxx                          |   20 ++++
 include/editeng/memberids.h                                |    1 
 offapi/com/sun/star/style/PageProperties.idl               |   55 ++++++++++---
 offapi/com/sun/star/style/ParagraphProperties.idl          |   20 +++-
 offapi/com/sun/star/text/BaseFrameProperties.idl           |   21 ++++
 offapi/com/sun/star/text/BaseIndex.idl                     |   24 ++++-
 offapi/com/sun/star/text/CellProperties.idl                |   21 ++++
 offapi/com/sun/star/text/CellRange.idl                     |   17 +++-
 offapi/com/sun/star/text/TextSection.idl                   |   19 +++-
 offapi/com/sun/star/text/TextTable.idl                     |   20 +++-
 offapi/com/sun/star/text/TextTableRow.idl                  |   19 +++-
 offapi/type_reference/offapi.idl                           |   11 ++
 qadevOOo/runner/util/utils.java                            |    6 +
 qadevOOo/tests/java/ifc/beans/_XMultiPropertySet.java      |   25 ++++-
 qadevOOo/tests/java/mod/_sw/CharacterStyle.java            |    4 
 qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java |    6 +
 qadevOOo/tests/java/mod/_sw/PageStyle.java                 |    8 +
 qadevOOo/tests/java/mod/_sw/ParagraphStyle.java            |    5 -
 qadevOOo/tests/java/mod/_sw/SwXTextCursor.java             |   13 ++-
 sc/inc/unonames.hxx                                        |    3 
 sc/source/ui/unoobj/styleuno.cxx                           |    5 +
 svx/source/form/formcontrolfactory.cxx                     |    1 
 sw/inc/unoprnms.hxx                                        |    4 
 sw/source/core/unocore/unoframe.cxx                        |   11 ++
 sw/source/core/unocore/unomap.cxx                          |    9 ++
 sw/source/core/unocore/unomap1.cxx                         |    8 +
 sw/source/core/unocore/unomapproperties.hxx                |    3 
 writerfilter/source/dmapper/PropertyMap.cxx                |   11 ++
 28 files changed, 311 insertions(+), 59 deletions(-)

New commits:
commit 7a8ed362eb163ac15a000ba1cfc74b58315800a1
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
Date:   Thu Apr 26 22:04:27 2018 +0900

    [API CHANGE] revert and deprecate *BackGraphicURL add *BackGraphic
    
    *BackGraphicURL include the following properties:
    - BackGraphicURL
    - FooterBackGraphicURL
    - HeaderBackGraphicURL
    - ParaBackGraphicURL
    
    This were removed, but for backwards compatibility this commit
    adds them back again and depreactes them in the UNO API. The
    behaviour also changes as internal vnd.sun.star.GraphicObject
    scheme URLs aren't supported so this properties can only be set
    and only if a external URL is provided. If getting such a property
    then a RuntimeException will be thrown.
    
    [ Miklos Vajna: fixed up sw/qa and writerfilter bits. ]
    
    Change-Id: If60011837da96197b576bfe2671ecafccad736c7
    Reviewed-on: https://gerrit.libreoffice.org/53511
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>

diff --git a/editeng/source/items/frmitems.cxx b/editeng/source/items/frmitems.cxx
index d6da0edc1bc6..0813021dd4e3 100644
--- a/editeng/source/items/frmitems.cxx
+++ b/editeng/source/items/frmitems.cxx
@@ -3314,6 +3314,11 @@ bool SvxBrushItem::QueryValue( uno::Any& rVal, sal_uInt8 nMemberId ) const
             rVal <<= ( aColor.GetTransparency() == 0xff );
         break;
 
+        case MID_GRAPHIC_URL:
+        {
+            throw uno::RuntimeException("Getting from this property is not unsupported");
+        }
+        break;
         case MID_GRAPHIC:
         {
             uno::Reference<graphic::XGraphic> xGraphic;
@@ -3396,13 +3401,24 @@ bool SvxBrushItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId )
             aColor.SetTransparency( Any2Bool( rVal ) ? 0xff : 0 );
         break;
 
+        case MID_GRAPHIC_URL:
         case MID_GRAPHIC:
         {
-            if (rVal.getValueType() == cppu::UnoType<graphic::XGraphic>::get())
+            Graphic aGraphic;
+
+            if (rVal.getValueType() == ::cppu::UnoType<OUString>::get())
+            {
+                OUString aURL = rVal.get<OUString>();
+                aGraphic = vcl::graphic::loadFromURL(aURL);
+            }
+            else if (rVal.getValueType() == cppu::UnoType<graphic::XGraphic>::get())
             {
                 auto xGraphic = rVal.get<uno::Reference<graphic::XGraphic>>();
+                aGraphic = Graphic(xGraphic);
+            }
 
-                Graphic aGraphic(xGraphic);
+            if (aGraphic)
+            {
                 maStrLink.clear();
 
                 std::unique_ptr<GraphicObject> xOldGrfObj(std::move(xGraphicObject));
diff --git a/include/editeng/memberids.h b/include/editeng/memberids.h
index 71de74d3a859..6c1e2d303041 100644
--- a/include/editeng/memberids.h
+++ b/include/editeng/memberids.h
@@ -158,6 +158,7 @@
 #define MID_GRAPHIC_POSITION    1
 #define MID_GRAPHIC             2
 #define MID_GRAPHIC_TRANSPARENT 3
+#define MID_GRAPHIC_URL         4
 #define MID_GRAPHIC_FILTER      5
 #define MID_GRAPHIC_REPEAT      6
 #define MID_GRAPHIC_TRANSPARENCY 7
diff --git a/offapi/com/sun/star/style/PageProperties.idl b/offapi/com/sun/star/style/PageProperties.idl
index 7ae84806e1ba..627aa09cb952 100644
--- a/offapi/com/sun/star/style/PageProperties.idl
+++ b/offapi/com/sun/star/style/PageProperties.idl
@@ -29,10 +29,9 @@
 #include <com/sun/star/text/XTextColumns.idl>
 #include <com/sun/star/container/XNameContainer.idl>
 #include <com/sun/star/text/WritingMode2.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
 
-
- module com {  module sun {  module star {  module style {
-
+module com {  module sun {  module star {  module style {
 
 /** describes the style of pages.
  */
@@ -42,14 +41,24 @@ published service PageProperties
      */
     [property] com::sun::star::util::Color BackColor;
 
-    /**
-     */
-    //[property] BackGraphic;
-
     /** contains the URL of the background graphic.
+
+        @deprecated as of LibreOffice 6.1 - use BackGraphic instead
+
+        Note the new behaviour since it this was deprecated:
+        This property can only be set and only external URLs are
+        supported (no more vnd.sun.star.GraphicObject scheme). When an
+        URL is set, then it will load the graphic and set the BackGraphic
+        property.
      */
     [property] string BackGraphicURL;
 
+    /** contains the graphic of the background.
+
+        @since LibreOffice 6.1
+     */
+    [property] com::sun::star::graphic::XGraphic BackGraphic;
+
     /** contains the filter name of the background graphic.
      */
     [property] string BackGraphicFilter;
@@ -169,14 +178,24 @@ published service PageProperties
      */
     [property, maybevoid] com::sun::star::util::Color HeaderBackColor;
 
-    /**
-     */
-    //[property, maybevoid] HeaderBackGraphic;
-
     /** contains the URL of the background graphic of the header.
+
+        @deprecated as of LibreOffice 6.1 - use HeaderBackGraphic instead
+
+        Note the new behaviour since it this was deprecated:
+        This property can only be set and only external URLs are
+        supported (no more vnd.sun.star.GraphicObject scheme). When an
+        URL is set, then it will load the graphic and set the HeaderBackGraphic
+        property.
      */
     [property, maybevoid] string HeaderBackGraphicURL;
 
+    /** contains the graphic of the background of the header.
+
+        @since LibreOffice 6.1
+     */
+    [property, maybevoid] com::sun::star::graphic::XGraphic HeaderBackGraphic;
+
     /** contains the filter name of the background graphic of the header.
      */
     [property, maybevoid] string HeaderBackGraphicFilter;
@@ -279,9 +298,23 @@ published service PageProperties
     [property, maybevoid] com::sun::star::util::Color FooterBackColor;
 
     /** contains the URL of the background graphic in the footer.
+
+        @deprecated as of LibreOffice 6.1 - use FooterBackGraphic
+
+        Note the new behaviour since it this was deprecated:
+        This property can only be set and only external URLs are
+        supported (no more vnd.sun.star.GraphicObject scheme). When an
+        URL is set, then it will load the graphic and set the FooterBackGraphic
+        property.
      */
     [property, maybevoid] string FooterBackGraphicURL;
 
+    /** contains the graphic of the background of the footer.
+
+        @since LibreOffice 6.1
+     */
+    [property, maybevoid] com::sun::star::graphic::XGraphic FooterBackGraphic;
+
     /** contains the filter name of the background graphic in the footer.
      */
     [property, maybevoid] string FooterBackGraphicFilter;
diff --git a/offapi/com/sun/star/style/ParagraphProperties.idl b/offapi/com/sun/star/style/ParagraphProperties.idl
index 2794265c7540..ba7f8b634c80 100644
--- a/offapi/com/sun/star/style/ParagraphProperties.idl
+++ b/offapi/com/sun/star/style/ParagraphProperties.idl
@@ -31,10 +31,9 @@
 #include <com/sun/star/style/BreakType.idl>
 #include <com/sun/star/container/XNameContainer.idl>
 #include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
 
-
- module com {  module sun {  module star {  module style {
-
+module com {  module sun {  module star {  module style {
 
 /** describes the style of paragraphs.
  */
@@ -63,10 +62,17 @@ published service ParagraphProperties
 
 
     /** contains the value of a link for the background graphic of a paragraph.
+
+        @deprecated as of LibreOffice 6.1 - use ParaBackGraphic instead
+
+        Note the new behaviour since it this was deprecated:
+        This property can only be set and only external URLs are
+        supported (no more vnd.sun.star.GraphicObject scheme). When an
+        URL is set, then it will load the graphic and set the ParaBackGraphic
+        property.
      */
     [optional, property] string ParaBackGraphicURL;
 
-
     /** contains the name of the graphic filter for the background graphic of a paragraph.
      */
     [optional, property] string ParaBackGraphicFilter;
@@ -379,6 +385,12 @@ published service ParagraphProperties
             <p>Values [1..10] indicates that the paragraph belongs to the corresponding outline level.</p>
          */
         [optional, property] short OutlineLevel;
+
+        /** contains the graphic for the background of a paragraph.
+
+            @since LibreOffice 6.1
+         */
+        [optional, property] com::sun::star::graphic::XGraphic ParaBackGraphic;
 };
 
 
diff --git a/offapi/com/sun/star/text/BaseFrameProperties.idl b/offapi/com/sun/star/text/BaseFrameProperties.idl
index c441343258f2..677826aec1e7 100644
--- a/offapi/com/sun/star/text/BaseFrameProperties.idl
+++ b/offapi/com/sun/star/text/BaseFrameProperties.idl
@@ -30,10 +30,9 @@
 #include <com/sun/star/drawing/FillStyle.idl>
 #include <com/sun/star/awt/Gradient.idl>
 #include <com/sun/star/drawing/TextVerticalAdjust.hpp>
+#include <com/sun/star/graphic/XGraphic.idl>
 
-
- module com {  module sun {  module star {  module text {
-
+module com {  module sun {  module star {  module text {
 
 /** specifies the properties that are provided by all text frames, graphic objects, embedded objects
  and frame styles.
@@ -56,13 +55,29 @@ published service BaseFrameProperties
         AnchorType is TextContentAnchorType::AT_FRAME.</p>
      */
     [property] com::sun::star::text::XTextFrame AnchorFrame;
+
     /** contains the color of the background of the object.
      */
     [property] com::sun::star::util::Color BackColor;
+
     /** contains the URL for the background graphic.
+
+        @deprecated as of LibreOffice 6.1 - use BackGraphic instead
+
+        Note the new behaviour since it this was deprecated:
+        This property can only be set and only external URLs are
+        supported (no more vnd.sun.star.GraphicObject scheme). When an
+        URL is set, then it will load the graphic and set the BackGraphic
+        property.
      */
     [property] string BackGraphicURL;
 
+    /** contains the graphic for the background.
+
+        @since LibreOffice 6.1
+    */
+    [property] com::sun::star::graphic::XGraphic BackGraphic;
+
     /** contains the name of the file filter for the background graphic.
      */
     [property] string BackGraphicFilter;
diff --git a/offapi/com/sun/star/text/BaseIndex.idl b/offapi/com/sun/star/text/BaseIndex.idl
index 9e75ee555216..39baa42eb935 100644
--- a/offapi/com/sun/star/text/BaseIndex.idl
+++ b/offapi/com/sun/star/text/BaseIndex.idl
@@ -17,7 +17,6 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-
 #ifndef __com_sun_star_text_BaseIndex_idl__
 #define __com_sun_star_text_BaseIndex_idl__
 
@@ -29,9 +28,9 @@
 #include <com/sun/star/style/GraphicLocation.idl>
 #include <com/sun/star/lang/Locale.idl>
 #include <com/sun/star/text/XTextSection.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
 
-
- module com {  module sun {  module star {  module text {
+module com {  module sun {  module star {  module text {
 
 /** specifies the basic service of different indexes within a document. at see com::sun::star::text::DocumentIndex
         @see com::sun::star::text::ContentIndex
@@ -77,8 +76,25 @@ published service BaseIndex
     [optional, property] string ParaStyleSeparator;
     /** contains the column interface.*/
     [property] XTextColumns TextColumns;
-    /** contains the URL of a graphic file that is displayed as background graphic*/
+
+    /** contains the URL of a graphic file that is displayed as background graphic
+
+        @deprecated as of LibreOffice 6.1 - use BackGraphic instead
+
+        Note the new behaviour since it this was deprecated:
+        This property can only be set and only external URLs are
+        supported (no more vnd.sun.star.GraphicObject scheme). When an
+        URL is set, then it will load the graphic and set the BackGraphic
+        property.
+    */
     [property] string BackGraphicURL;
+
+    /** contains the graphic object that is displayed as background graphic.
+
+        @since LibreOffice 6.1
+    */
+    [property] com::sun::star::graphic::XGraphic BackGraphic;
+
     /** contains the name of the filter of the graphic file that is
          displayed as background graphic*/
     [property] string BackGraphicFilter;
diff --git a/offapi/com/sun/star/text/CellProperties.idl b/offapi/com/sun/star/text/CellProperties.idl
index 6144d9fc8530..8e7f0ae35ca0 100644
--- a/offapi/com/sun/star/text/CellProperties.idl
+++ b/offapi/com/sun/star/text/CellProperties.idl
@@ -16,6 +16,7 @@
  *   except in compliance with the License. You may obtain a copy of
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
+
 #ifndef __com_sun_star_text_CellProperties_idl__
 #define __com_sun_star_text_CellProperties_idl__
 
@@ -26,11 +27,9 @@
 #include <com/sun/star/table/BorderLine.idl>
 #include <com/sun/star/container/XNameContainer.idl>
 #include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
 
-
-
- module com {  module sun {  module star {  module text {
-
+module com {  module sun {  module star {  module text {
 
 /** service that holds all cell properties of a text table cell in a text document.
 
@@ -58,9 +57,23 @@ published service CellProperties
     [property] com::sun::star::util::Color BackColor;
 
     /** contains the URL to the background graphic.
+
+        @deprecated as of LibreOffice 6.1 - use BackGraphic instead
+
+        Note the new behaviour since it this was deprecated:
+        This property can only be set and only external URLs are
+        supported (no more vnd.sun.star.GraphicObject scheme). When an
+        URL is set, then it will load the graphic and set the BackGraphic
+        property.
      */
     [property] string BackGraphicURL;
 
+    /** contains the graphic object that is displayed as background graphic.
+
+        @since LibreOffice 6.1
+     */
+    [property] com::sun::star::graphic::XGraphic BackGraphic;
+
     /** contains the name of the graphic filter of the background graphic.
      */
     [property] string BackGraphicFilter;
diff --git a/offapi/com/sun/star/text/CellRange.idl b/offapi/com/sun/star/text/CellRange.idl
index e99f32b6f14a..161b3452f2f0 100644
--- a/offapi/com/sun/star/text/CellRange.idl
+++ b/offapi/com/sun/star/text/CellRange.idl
@@ -16,6 +16,7 @@
  *   except in compliance with the License. You may obtain a copy of
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
+
 #ifndef __com_sun_star_text_CellRange_idl__
 #define __com_sun_star_text_CellRange_idl__
 
@@ -31,11 +32,10 @@
 #include <com/sun/star/style/CharacterProperties.idl>
 #include <com/sun/star/style/GraphicLocation.idl>
 #include <com/sun/star/chart/XChartDataArray.idl>
-
+#include <com/sun/star/graphic/XGraphic.idl>
 
 module com {  module sun {  module star {  module text {
 
-
 /** area of cells within a text table.
 
     @see com::sun::star::text::TextTable
@@ -77,9 +77,22 @@ published service CellRange
 
 
     /** contains the URL of the background graphic.
+
+        @deprecated as of LibreOffice 6.1 - use BackGraphic instead
+
+        Note the new behaviour since it this was deprecated:
+        This property can only be set and only external URLs are
+        supported (no more vnd.sun.star.GraphicObject scheme). When an
+        URL is set, then it will load the graphic and set the BackGraphic
+        property.
      */
     [property] string BackGraphicURL;
 
+    /** contains the graphic of the background.
+
+        @since LibreOffice 6.1
+     */
+    [property] com::sun::star::graphic::XGraphic BackGraphic;
 
     /** determines if the background color is transparent.
      */
diff --git a/offapi/com/sun/star/text/TextSection.idl b/offapi/com/sun/star/text/TextSection.idl
index 5394f7229930..d6baa829c633 100644
--- a/offapi/com/sun/star/text/TextSection.idl
+++ b/offapi/com/sun/star/text/TextSection.idl
@@ -28,8 +28,7 @@
 #include <com/sun/star/style/GraphicLocation.idl>
 #include <com/sun/star/text/XTextColumns.idl>
 #include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
-
-
+#include <com/sun/star/graphic/XGraphic.idl>
 
 module com { module sun { module star { module text {
 
@@ -101,10 +100,24 @@ published service TextSection
     */
     [property] string DDECommandElement;
 
-    /**  contains the URL for the background graphic.
+    /** contains the URL for the background graphic.
+
+        @deprecated as of LibreOffice 6.1 - use BackGraphic instead
+
+        Note the new behaviour since it this was deprecated:
+        This property can only be set and only external URLs are
+        supported (no more vnd.sun.star.GraphicObject scheme). When an
+        URL is set, then it will load the graphic and set the BackGraphic
+        property.
     */
     [property] string BackGraphicURL;
 
+    /** contains the graphic of the background.
+
+        @since LibreOffice 6.1
+     */
+    [property] com::sun::star::graphic::XGraphic BackGraphic;
+
     /**  contains the name of the file filter for the background graphic.
     */
     [property] string BackGraphicFilter;
diff --git a/offapi/com/sun/star/text/TextTable.idl b/offapi/com/sun/star/text/TextTable.idl
index e47ad56c4aee..ee6fc85f4eb9 100644
--- a/offapi/com/sun/star/text/TextTable.idl
+++ b/offapi/com/sun/star/text/TextTable.idl
@@ -16,6 +16,7 @@
  *   except in compliance with the License. You may obtain a copy of
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
+
 #ifndef __com_sun_star_text_TextTable_idl__
 #define __com_sun_star_text_TextTable_idl__
 
@@ -35,11 +36,9 @@
 #include <com/sun/star/util/XSortable.idl>
 #include <com/sun/star/sheet/XCellRangeData.idl>
 #include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
 
-
-
- module com {  module sun {  module star {  module text {
-
+module com {  module sun {  module star {  module text {
 
 /** is a table of text cells which is anchored to a surrounding text.
 
@@ -192,9 +191,22 @@ published service TextTable
     [property] com::sun::star::util::Color BackColor;
 
     /** contains the URL for the background graphic.
+
+        @deprecated as of LibreOffice 6.1 - use BackGraphic instead
+
+        Note the new behaviour since it this was deprecated:
+        This property can only be set and only external URLs are
+        supported (no more vnd.sun.star.GraphicObject scheme). When an
+        URL is set, then it will load the graphic and set the BackGraphic
+        property.
      */
     [property] string BackGraphicURL;
 
+    /** contains the graphic for the background.
+
+        @since LibreOffice 6.1
+     */
+    [property] com::sun::star::graphic::XGraphic BackGraphic;
 
     /** contains the name of the file filter for the background graphic.
      */
diff --git a/offapi/com/sun/star/text/TextTableRow.idl b/offapi/com/sun/star/text/TextTableRow.idl
index 1755068cdd0e..42198943af34 100644
--- a/offapi/com/sun/star/text/TextTableRow.idl
+++ b/offapi/com/sun/star/text/TextTableRow.idl
@@ -23,11 +23,9 @@
 #include <com/sun/star/util/Color.idl>
 #include <com/sun/star/style/GraphicLocation.idl>
 #include <com/sun/star/text/TableColumnSeparator.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
 
-
-
- module com {  module sun {  module star {  module text {
-
+module com {  module sun {  module star {  module text {
 
 /** specifies the properties of a text table row.
 
@@ -49,9 +47,22 @@ published service TextTableRow
 
 
     /** contains the URL of a background graphic.
+
+        @deprecated as of LibreOffice 6.1 - use BackGraphic instead
+
+        Note the new behaviour since it this was deprecated:
+        This property can only be set and only external URLs are
+        supported (no more vnd.sun.star.GraphicObject scheme). When an
+        URL is set, then it will load the graphic and set the BackGraphic
+        property.
      */
     [property] string BackGraphicURL;
 
+    /** contains the graphic of a background.
+
+        @since LibreOffice 6.1
+     */
+    [property] com::sun::star::graphic::XGraphic BackGraphic;
 
     /** contains the name of the file filter of a background graphic.
      */
diff --git a/offapi/type_reference/offapi.idl b/offapi/type_reference/offapi.idl
index 337a45812b29..f49b0267ed48 100644
--- a/offapi/type_reference/offapi.idl
+++ b/offapi/type_reference/offapi.idl
@@ -3643,6 +3643,7 @@ module com {
      [property, maybevoid, optional] boolean ParaIsConnectBorder;
      [property, optional] string ListId;
      [property, optional] short OutlineLevel;
+     [property, optional] ::com::sun::star::graphic::XGraphic ParaBackGraphic;
     };
    };
    module util {
@@ -13134,6 +13135,7 @@ module com {
     published service PageProperties {
      [property] ::com::sun::star::util::Color BackColor;
      [property] string BackGraphicURL;
+     [property] ::com::sun::star::graphic::XGraphic BackGraphic;
      [property] string BackGraphicFilter;
      [property] ::com::sun::star::style::GraphicLocation BackGraphicLocation;
      [property] boolean BackTransparent;
@@ -13163,6 +13165,7 @@ module com {
      [property] ::com::sun::star::container::XNameContainer UserDefinedAttributes;
      [property, maybevoid] ::com::sun::star::util::Color HeaderBackColor;
      [property, maybevoid] string HeaderBackGraphicURL;
+     [property, maybevoid] ::com::sun::star::graphic::XGraphic HeaderBackGraphic;
      [property, maybevoid] string HeaderBackGraphicFilter;
      [property, maybevoid] ::com::sun::star::style::GraphicLocation HeaderBackGraphicLocation;
      [property, maybevoid] long HeaderLeftMargin;
@@ -13188,6 +13191,7 @@ module com {
      [property, maybevoid, optional] ::com::sun::star::text::XText HeaderTextRight;
      [property, maybevoid] ::com::sun::star::util::Color FooterBackColor;
      [property, maybevoid] string FooterBackGraphicURL;
+     [property, maybevoid] ::com::sun::star::graphic::XGraphic FooterBackGraphic;
      [property, maybevoid] string FooterBackGraphicFilter;
      [property, maybevoid] ::com::sun::star::style::GraphicLocation FooterBackGraphicLocation;
      [property, maybevoid] long FooterLeftMargin;
@@ -13837,6 +13841,7 @@ module com {
      [property] ::com::sun::star::text::XTextFrame AnchorFrame;
      [property] ::com::sun::star::util::Color BackColor;
      [property] string BackGraphicURL;
+     [property] ::com::sun::star::graphic::XGraphic BackGraphic;
      [property] string BackGraphicFilter;
      [property] ::com::sun::star::style::GraphicLocation BackGraphicLocation;
      [property] ::com::sun::star::table::BorderLine LeftBorder;
@@ -13925,6 +13930,7 @@ module com {
      [property, optional] string ParaStyleSeparator;
      [property] ::com::sun::star::text::XTextColumns TextColumns;
      [property] string BackGraphicURL;
+     [property] ::com::sun::star::graphic::XGraphic BackGraphic;
      [property] string BackGraphicFilter;
      [property] ::com::sun::star::style::GraphicLocation BackGraphicLocation;
      [property] ::com::sun::star::util::Color BackColor;
@@ -14015,6 +14021,7 @@ module com {
      [property] string CellName;
      [property] ::com::sun::star::util::Color BackColor;
      [property] string BackGraphicURL;
+     [property] ::com::sun::star::graphic::XGraphic BackGraphic;
      [property] string BackGraphicFilter;
      [property] ::com::sun::star::style::GraphicLocation BackGraphicLocation;
      [property] long NumberFormat;
@@ -14045,6 +14052,7 @@ module com {
      [property] string BackGraphicFilter;
      [property] ::com::sun::star::style::GraphicLocation BackGraphicLocation;
      [property] string BackGraphicURL;
+     [property] ::com::sun::star::graphic::XGraphic BackGraphic;
      [property] boolean BackTransparent;
      [property] boolean ChartColumnAsLabel;
      [property] boolean ChartRowAsLabel;
@@ -14631,6 +14639,7 @@ module com {
      [property] short TableColumnRelativeSum;
      [property] ::com::sun::star::util::Color BackColor;
      [property] string BackGraphicURL;
+     [property] ::com::sun::star::graphic::XGraphic BackGraphic;
      [property] string BackGraphicFilter;
      [property] ::com::sun::star::style::GraphicLocation BackGraphicLocation;
      [property, optional] boolean CollapsingBorders;
@@ -15042,6 +15051,7 @@ module com {
      [property] string DDECommandFile;
      [property] string DDECommandElement;
      [property] string BackGraphicURL;
+     [property] ::com::sun::star::graphic::XGraphic BackGraphic;
      [property] string BackGraphicFilter;
      [property] ::com::sun::star::style::GraphicLocation BackGraphicLocation;
      [property] boolean FootnoteIsCollectAtTextEnd;
@@ -15116,6 +15126,7 @@ module com {
      [property] ::com::sun::star::util::Color BackColor;
      [property] boolean BackTransparent;
      [property] string BackGraphicURL;
+     [property] ::com::sun::star::graphic::XGraphic BackGraphic;
      [property] string BackGraphicFilter;
      [property] ::com::sun::star::style::GraphicLocation BackGraphicLocation;
      [property] sequence< ::com::sun::star::text::TableColumnSeparator > TableColumnSeparators;
diff --git a/qadevOOo/runner/util/utils.java b/qadevOOo/runner/util/utils.java
index a0f525ab8339..1e6901fca1d2 100644
--- a/qadevOOo/runner/util/utils.java
+++ b/qadevOOo/runner/util/utils.java
@@ -30,6 +30,7 @@ import java.net.Socket;
 import java.net.ServerSocket;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.util.Arrays;
 
 import com.sun.star.awt.XToolkitExperimental;
 import com.sun.star.beans.XPropertySet;
@@ -577,16 +578,19 @@ public class utils {
      * @param props The instance of XPropertySet
      * @param includePropertyAttribute Properties without these attributes are filtered and will not be returned.
      * @param excludePropertyAttribute Properties with these attributes are filtered and will not be returned.
+     * @param array of string names of properties that will be skipped
      * @return A String array with all property names.
      * @see com.sun.star.beans.XPropertySet
      * @see com.sun.star.beans.Property
      * @see com.sun.star.beans.PropertyAttribute
      */
     public static String[] getFilteredPropertyNames(XPropertySet props, short includePropertyAttribute,
-        short excludePropertyAttribute) {
+        short excludePropertyAttribute, String[] skipList) {
         Property[] the_props = props.getPropertySetInfo().getProperties();
         ArrayList<String> l = new ArrayList<String>();
         for (int i = 0; i < the_props.length; i++) {
+            if (Arrays.asList(skipList).contains(the_props[i].Name))
+                continue;
             boolean exclude = ((the_props[i].Attributes & excludePropertyAttribute) != 0);
             boolean include = (includePropertyAttribute == 0) ||
                 ((the_props[i].Attributes & includePropertyAttribute) != 0);
diff --git a/qadevOOo/tests/java/ifc/beans/_XMultiPropertySet.java b/qadevOOo/tests/java/ifc/beans/_XMultiPropertySet.java
index 697f5d0c7c83..1d169539413d 100644
--- a/qadevOOo/tests/java/ifc/beans/_XMultiPropertySet.java
+++ b/qadevOOo/tests/java/ifc/beans/_XMultiPropertySet.java
@@ -19,8 +19,10 @@
 package ifc.beans;
 
 import java.util.HashSet;
+import java.util.ArrayList;
 import java.util.Set;
 import java.util.StringTokenizer;
+import java.util.Arrays;
 
 import lib.MultiMethodTest;
 import lib.Status;
@@ -132,17 +134,30 @@ public class _XMultiPropertySet extends MultiMethodTest {
         boolean bResult = true;
 
         Property[] properties = propertySetInfo.getProperties();
-        String[] allnames = new String[properties.length];
+
+        ArrayList<String> allFilteredNames = new ArrayList<String>();
+        ArrayList<Property> allFilteredProperties = new ArrayList<Property>();
+
+        String[] skipNames = (String[]) tEnv.getObjRelation("SkipProperties");
+
         for (int i = 0; i < properties.length; i++) {
-            allnames[i] = properties[i].Name;
+            if (skipNames == null || !Arrays.asList(skipNames).contains(properties[i].Name))
+            {
+                allFilteredNames.add(properties[i].Name);
+                allFilteredProperties.add(properties[i]);
+            }
         }
 
-        values = oObj.getPropertyValues(allnames);
+        String[] arrayAllFilteredNames = allFilteredNames.toArray(new String[allFilteredNames.size()]);
+
+        values = oObj.getPropertyValues(arrayAllFilteredNames);
 
         bResult &= values!=null;
         tRes.tested("getPropertyValues()", bResult) ;
 
-        getPropsToTest(properties);
+        Property[] arrayFilteredProperties = allFilteredProperties.toArray(new Property[allFilteredProperties.size()]);
+
+        getPropsToTest(arrayFilteredProperties);
     }
 
     /**
@@ -346,5 +361,3 @@ public class _XMultiPropertySet extends MultiMethodTest {
         disposeEnvironment();
     }
 }
-
-
diff --git a/qadevOOo/tests/java/mod/_sw/CharacterStyle.java b/qadevOOo/tests/java/mod/_sw/CharacterStyle.java
index 085f9c9ba122..1671a39b99ed 100644
--- a/qadevOOo/tests/java/mod/_sw/CharacterStyle.java
+++ b/qadevOOo/tests/java/mod/_sw/CharacterStyle.java
@@ -137,8 +137,10 @@ public class CharacterStyle extends TestCase {
 
         XPropertySet xStyleProp = UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
 
+        String[] skipPropetiesNamed = {};
+
         short exclude = PropertyAttribute.READONLY;
-        tEnv.addObjRelation("PropertyNames",utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude));
+        tEnv.addObjRelation("PropertyNames",utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude, skipPropetiesNamed));
 
         return tEnv;
     }
diff --git a/qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java b/qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java
index 15b0b8faa1c1..0ccff31ed554 100644
--- a/qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java
+++ b/qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java
@@ -129,8 +129,12 @@ public class ConditionalParagraphStyle extends TestCase {
 
         XPropertySet xStyleProp = UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
         short exclude = PropertyAttribute.READONLY;
-        String[] names = utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude);
+        String[] skipPropetiesNamed = { "ParaBackGraphicURL" };
+
+        String[] names = utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude, skipPropetiesNamed);
+
         tEnv.addObjRelation("PropertyNames", names);
+        tEnv.addObjRelation("SkipProperties", skipPropetiesNamed);
 
         return tEnv;
     }
diff --git a/qadevOOo/tests/java/mod/_sw/PageStyle.java b/qadevOOo/tests/java/mod/_sw/PageStyle.java
index 6c5816418ee2..fdfac78b1dee 100644
--- a/qadevOOo/tests/java/mod/_sw/PageStyle.java
+++ b/qadevOOo/tests/java/mod/_sw/PageStyle.java
@@ -126,8 +126,14 @@ public class PageStyle extends TestCase {
         XPropertySet xStyleProp = UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
 
         short exclude = PropertyAttribute.READONLY;
-        String[] names = utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude);
+
+        String[] skipPropetiesNamed = {
+            "BackGraphicURL", "HeaderBackGraphicURL", "FooterBackGraphicURL"
+        };
+
+        String[] names = utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude, skipPropetiesNamed);
         tEnv.addObjRelation("PropertyNames", names);
+        tEnv.addObjRelation("SkipProperties", skipPropetiesNamed);
 
         return tEnv;
     }
diff --git a/qadevOOo/tests/java/mod/_sw/ParagraphStyle.java b/qadevOOo/tests/java/mod/_sw/ParagraphStyle.java
index d0aeb41f3eb9..e52daed43c02 100644
--- a/qadevOOo/tests/java/mod/_sw/ParagraphStyle.java
+++ b/qadevOOo/tests/java/mod/_sw/ParagraphStyle.java
@@ -119,7 +119,10 @@ public class ParagraphStyle extends TestCase  {
 
         XPropertySet xStyleProp = UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
         short exclude = PropertyAttribute.READONLY;
-        String[] names = utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude);
+
+        String[] skipPropetiesNamed = { "ParaBackGraphicURL" };
+
+        String[] names = utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude, skipPropetiesNamed);
         tEnv.addObjRelation("PropertyNames", names);
 
         return tEnv;
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextCursor.java b/qadevOOo/tests/java/mod/_sw/SwXTextCursor.java
index 34764a4673f2..5b641b1e72af 100644
--- a/qadevOOo/tests/java/mod/_sw/SwXTextCursor.java
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextCursor.java
@@ -19,6 +19,7 @@ package mod._sw;
 
 import java.io.PrintWriter;
 import java.util.ArrayList;
+import java.util.Arrays;
 
 import lib.TestCase;
 import lib.TestEnvironment;
@@ -171,7 +172,12 @@ public class SwXTextCursor extends TestCase {
 
         XPropertySet xCursorProp = UnoRuntime.queryInterface(
                                            XPropertySet.class, oObj);
-        tEnv.addObjRelation("PropertyNames", getPropertyNames(xCursorProp));
+
+        String[] skipNames = { "ParaBackGraphicURL" };
+        String[] propertyNames = getPropertyNames(xCursorProp, skipNames);
+
+        tEnv.addObjRelation("PropertyNames", propertyNames);
+        tEnv.addObjRelation("SkipProperties", propertyNames);
 
         //Adding relation for util.XSortable
         final XParagraphCursor paragrCursor = UnoRuntime.queryInterface(
@@ -285,14 +291,13 @@ public class SwXTextCursor extends TestCase {
         return tEnv;
     } // finish method getTestEnvironment
 
-    public String[] getPropertyNames(XPropertySet props) {
+    public String[] getPropertyNames(XPropertySet props, String[] skipList) {
         Property[] the_props = props.getPropertySetInfo().getProperties();
         ArrayList<String> names = new ArrayList<String>();
 
         for (int i = 0; i < the_props.length; i++) {
             boolean isWritable = ((the_props[i].Attributes & PropertyAttribute.READONLY) == 0);
-
-            if (isWritable) {
+            if (isWritable && !Arrays.asList(skipList).contains(the_props[i].Name)) {
                 names.add(the_props[i].Name);
             }
         }
diff --git a/sc/inc/unonames.hxx b/sc/inc/unonames.hxx
index e7f92a01e3e4..a2a407ee5fdc 100644
--- a/sc/inc/unonames.hxx
+++ b/sc/inc/unonames.hxx
@@ -405,6 +405,7 @@
 #define SC_UNO_PAGE_BACKTRANS       "BackTransparent"
 #define SC_UNO_PAGE_GRAPHICFILT     "BackGraphicFilter"
 #define SC_UNO_PAGE_GRAPHICLOC      "BackGraphicLocation"
+#define SC_UNO_PAGE_GRAPHICURL      "BackGraphicURL"
 #define SC_UNO_PAGE_GRAPHIC         "BackGraphic"
 #define SC_UNO_PAGE_LEFTBORDER      SC_UNONAME_LEFTBORDER
 #define SC_UNO_PAGE_RIGHTBORDER     SC_UNONAME_RIGHTBORDER
@@ -452,6 +453,7 @@
 #define SC_UNO_PAGE_HDRGRFFILT      "HeaderBackGraphicFilter"
 #define SC_UNO_PAGE_HDRGRFLOC       "HeaderBackGraphicLocation"
 #define SC_UNO_PAGE_HDRGRF          "HeaderBackGraphic"
+#define SC_UNO_PAGE_HDRGRFURL       "HeaderBackGraphicURL"
 #define SC_UNO_PAGE_HDRLEFTBOR      "HeaderLeftBorder"
 #define SC_UNO_PAGE_HDRRIGHTBOR     "HeaderRightBorder"
 #define SC_UNO_PAGE_HDRBOTTBOR      "HeaderBottomBorder"
@@ -474,6 +476,7 @@
 #define SC_UNO_PAGE_FTRGRFFILT      "FooterBackGraphicFilter"
 #define SC_UNO_PAGE_FTRGRFLOC       "FooterBackGraphicLocation"
 #define SC_UNO_PAGE_FTRGRF          "FooterBackGraphic"
+#define SC_UNO_PAGE_FTRGRFURL       "FooterBackGraphicURL"
 #define SC_UNO_PAGE_FTRLEFTBOR      "FooterLeftBorder"
 #define SC_UNO_PAGE_FTRRIGHTBOR     "FooterRightBorder"
 #define SC_UNO_PAGE_FTRBOTTBOR      "FooterBottomBorder"
diff --git a/sc/source/ui/unoobj/styleuno.cxx b/sc/source/ui/unoobj/styleuno.cxx
index 8f262ddd9d9d..94015525c9a5 100644
--- a/sc/source/ui/unoobj/styleuno.cxx
+++ b/sc/source/ui/unoobj/styleuno.cxx
@@ -183,6 +183,7 @@ static const SfxItemPropertySet * lcl_GetPageStyleSet()
         {OUString(SC_UNO_PAGE_BACKCOLOR),   ATTR_BACKGROUND,    ::cppu::UnoType<sal_Int32>::get(),            0, MID_BACK_COLOR },
         {OUString(SC_UNO_PAGE_GRAPHICFILT), ATTR_BACKGROUND,    ::cppu::UnoType<OUString>::get(),          0, MID_GRAPHIC_FILTER },
         {OUString(SC_UNO_PAGE_GRAPHICLOC),  ATTR_BACKGROUND,    ::cppu::UnoType<style::GraphicLocation>::get(),   0, MID_GRAPHIC_POSITION },
+        {OUString(SC_UNO_PAGE_GRAPHICURL),  ATTR_BACKGROUND,    ::cppu::UnoType<OUString>::get(),          0, MID_GRAPHIC_URL },
         {OUString(SC_UNO_PAGE_GRAPHIC),     ATTR_BACKGROUND,    ::cppu::UnoType<graphic::XGraphic>::get(), 0, MID_GRAPHIC },
         {OUString(SC_UNO_PAGE_BACKTRANS),   ATTR_BACKGROUND,    cppu::UnoType<bool>::get(),            0, MID_GRAPHIC_TRANSPARENT },
         {OUString(OLD_UNO_PAGE_BACKCOLOR),  ATTR_BACKGROUND,    ::cppu::UnoType<sal_Int32>::get(),            0, MID_BACK_COLOR },
@@ -198,6 +199,7 @@ static const SfxItemPropertySet * lcl_GetPageStyleSet()
         {OUString(SC_UNO_PAGE_FTRBACKCOL),  SC_WID_UNO_FOOTERSET,::cppu::UnoType<sal_Int32>::get(),           0, 0 },
         {OUString(SC_UNO_PAGE_FTRGRFFILT),  SC_WID_UNO_FOOTERSET,::cppu::UnoType<OUString>::get(),     0, 0 },
         {OUString(SC_UNO_PAGE_FTRGRFLOC),   SC_WID_UNO_FOOTERSET,::cppu::UnoType<style::GraphicLocation>::get(), 0, 0 },
+        {OUString(SC_UNO_PAGE_FTRGRFURL),   SC_WID_UNO_FOOTERSET,::cppu::UnoType<OUString>::get(),            0, 0 },
         {OUString(SC_UNO_PAGE_FTRGRF),      SC_WID_UNO_FOOTERSET,::cppu::UnoType<graphic::XGraphic>::get(),     0, 0 },
         {OUString(SC_UNO_PAGE_FTRBACKTRAN), SC_WID_UNO_FOOTERSET,cppu::UnoType<bool>::get(),                       0, 0 },
         {OUString(OLD_UNO_PAGE_FTRBACKCOL), SC_WID_UNO_FOOTERSET,::cppu::UnoType<sal_Int32>::get(),           0, 0 },
@@ -225,6 +227,7 @@ static const SfxItemPropertySet * lcl_GetPageStyleSet()
         {OUString(SC_UNO_PAGE_HDRBACKCOL),  SC_WID_UNO_HEADERSET,::cppu::UnoType<sal_Int32>::get(),           0, 0 },
         {OUString(SC_UNO_PAGE_HDRGRFFILT),  SC_WID_UNO_HEADERSET,::cppu::UnoType<OUString>::get(),     0, 0 },
         {OUString(SC_UNO_PAGE_HDRGRFLOC),   SC_WID_UNO_HEADERSET,::cppu::UnoType<style::GraphicLocation>::get(), 0, 0 },
+        {OUString(SC_UNO_PAGE_HDRGRFURL),   SC_WID_UNO_HEADERSET,::cppu::UnoType<OUString>::get(),            0, 0 },
         {OUString(SC_UNO_PAGE_HDRGRF),      SC_WID_UNO_HEADERSET,::cppu::UnoType<graphic::XGraphic>::get(),     0, 0 },
         {OUString(SC_UNO_PAGE_HDRBACKTRAN), SC_WID_UNO_HEADERSET,cppu::UnoType<bool>::get(),                       0, 0 },
         {OUString(OLD_UNO_PAGE_HDRBACKCOL), SC_WID_UNO_HEADERSET,::cppu::UnoType<sal_Int32>::get(),           0, 0 },
@@ -304,6 +307,7 @@ static const SfxItemPropertyMap* lcl_GetHeaderStyleMap()
         {OUString(SC_UNO_PAGE_HDRBACKCOL),  ATTR_BACKGROUND,    ::cppu::UnoType<sal_Int32>::get(),            0, MID_BACK_COLOR },
         {OUString(SC_UNO_PAGE_HDRGRFFILT),  ATTR_BACKGROUND,    ::cppu::UnoType<OUString>::get(),          0, MID_GRAPHIC_FILTER },
         {OUString(SC_UNO_PAGE_HDRGRFLOC),   ATTR_BACKGROUND,    ::cppu::UnoType<style::GraphicLocation>::get(),   0, MID_GRAPHIC_POSITION },
+        {OUString(SC_UNO_PAGE_HDRGRFURL),   ATTR_BACKGROUND,    ::cppu::UnoType<OUString>::get(),          0, MID_GRAPHIC_URL },
         {OUString(SC_UNO_PAGE_HDRGRF),      ATTR_BACKGROUND,    ::cppu::UnoType<graphic::XGraphic>::get(),          0, MID_GRAPHIC },
         {OUString(SC_UNO_PAGE_HDRBACKTRAN), ATTR_BACKGROUND,    cppu::UnoType<bool>::get(),            0, MID_GRAPHIC_TRANSPARENT },
         {OUString(OLD_UNO_PAGE_HDRBACKCOL), ATTR_BACKGROUND,    ::cppu::UnoType<sal_Int32>::get(),            0, MID_BACK_COLOR },
@@ -343,6 +347,7 @@ static const SfxItemPropertyMap* lcl_GetFooterStyleMap()
         {OUString(SC_UNO_PAGE_FTRBACKCOL),  ATTR_BACKGROUND,    ::cppu::UnoType<sal_Int32>::get(),            0, MID_BACK_COLOR },
         {OUString(SC_UNO_PAGE_FTRGRFFILT),  ATTR_BACKGROUND,    ::cppu::UnoType<OUString>::get(),          0, MID_GRAPHIC_FILTER },
         {OUString(SC_UNO_PAGE_FTRGRFLOC),   ATTR_BACKGROUND,    ::cppu::UnoType<style::GraphicLocation>::get(),   0, MID_GRAPHIC_POSITION },
+        {OUString(SC_UNO_PAGE_FTRGRFURL),   ATTR_BACKGROUND,    ::cppu::UnoType<OUString>::get(),          0, MID_GRAPHIC_URL },
         {OUString(SC_UNO_PAGE_FTRGRF),      ATTR_BACKGROUND,    ::cppu::UnoType<graphic::XGraphic>::get(),          0, MID_GRAPHIC },
         {OUString(SC_UNO_PAGE_FTRBACKTRAN), ATTR_BACKGROUND,    cppu::UnoType<bool>::get(),            0, MID_GRAPHIC_TRANSPARENT },
         {OUString(OLD_UNO_PAGE_FTRBACKCOL), ATTR_BACKGROUND,    ::cppu::UnoType<sal_Int32>::get(),            0, MID_BACK_COLOR },
diff --git a/svx/source/form/formcontrolfactory.cxx b/svx/source/form/formcontrolfactory.cxx
index 053819859676..cef44279d9df 100644
--- a/svx/source/form/formcontrolfactory.cxx
+++ b/svx/source/form/formcontrolfactory.cxx
@@ -296,6 +296,7 @@ namespace svxform
             "ParaBackColor",
             "ParaBackTransparent",
             "ParaBackGraphic",
+            "ParaBackGraphicURL",
             "ParaBackGraphicFilter",
             "ParaBackGraphicLocation",
             "ParaLastLineAdjust",
diff --git a/sw/inc/unoprnms.hxx b/sw/inc/unoprnms.hxx
index 960a73e19c24..714d221d3712 100644
--- a/sw/inc/unoprnms.hxx
+++ b/sw/inc/unoprnms.hxx
@@ -27,11 +27,15 @@
 #define UNO_NAME_IS_AUTO_UPDATE "IsAutoUpdate"
 #define UNO_NAME_DISPLAY_NAME "DisplayName"
 #define UNO_NAME_PARA_GRAPHIC "ParaBackGraphic"
+#define UNO_NAME_PARA_GRAPHIC_URL "ParaBackGraphicURL"
 #define UNO_NAME_PARA_GRAPHIC_FILTER "ParaBackGraphicFilter"
 #define UNO_NAME_HEADER_GRAPHIC "HeaderBackGraphic"
+#define UNO_NAME_HEADER_GRAPHIC_URL "HeaderBackGraphicURL"
 #define UNO_NAME_HEADER_GRAPHIC_FILTER "HeaderBackGraphicFilter"
 #define UNO_NAME_FOOTER_GRAPHIC "FooterBackGraphic"
+#define UNO_NAME_FOOTER_GRAPHIC_URL "FooterBackGraphicURL"
 #define UNO_NAME_FOOTER_GRAPHIC_FILTER "FooterBackGraphicFilter"
+#define UNO_NAME_BACK_GRAPHIC_URL "BackGraphicURL"
 #define UNO_NAME_BACK_GRAPHIC "BackGraphic"
 #define UNO_NAME_BACK_GRAPHIC_FILTER "BackGraphicFilter"
 #define UNO_NAME_BACK_GRAPHIC_LOCATION "BackGraphicLocation"
diff --git a/sw/source/core/unocore/unoframe.cxx b/sw/source/core/unocore/unoframe.cxx
index f8a500a53f7b..b193f8ed757d 100644
--- a/sw/source/core/unocore/unoframe.cxx
+++ b/sw/source/core/unocore/unoframe.cxx
@@ -211,11 +211,13 @@ bool BaseFrameProperties_Impl::FillBaseProperties(SfxItemSet& rToSet, const SfxI
     const ::uno::Any* pGrLoc = nullptr; GetProperty(RES_BACKGROUND, MID_GRAPHIC_POSITION, pGrLoc );
     const ::uno::Any* pGraphic = nullptr; GetProperty(RES_BACKGROUND, MID_GRAPHIC, pGraphic     );
     const ::uno::Any* pGrFilter = nullptr; GetProperty(RES_BACKGROUND, MID_GRAPHIC_FILTER, pGrFilter     );
+    const ::uno::Any* pGraphicURL = nullptr; GetProperty(RES_BACKGROUND, MID_GRAPHIC_URL, pGraphicURL );
     const ::uno::Any* pGrTranparency = nullptr; GetProperty(RES_BACKGROUND, MID_GRAPHIC_TRANSPARENCY, pGrTranparency     );
     const bool bSvxBrushItemPropertiesUsed(
         pCol ||
         pTrans ||
         pGraphic ||
+        pGraphicURL ||
         pGrFilter ||
         pGrLoc ||
         pGrTranparency ||
@@ -258,9 +260,9 @@ bool BaseFrameProperties_Impl::FillBaseProperties(SfxItemSet& rToSet, const SfxI
     const uno::Any* pOwnAttrFillBmpItem = nullptr; GetProperty(OWN_ATTR_FILLBMP_MODE, 0, pOwnAttrFillBmpItem);
 
     // tdf#91140: ignore SOLID fill style for determining if fill style is used
-    // but there is a GraphicURL
+    // but there is a Graphic
     const bool bFillStyleUsed(pXFillStyleItem && pXFillStyleItem->hasValue() &&
-        (pXFillStyleItem->get<drawing::FillStyle>() != drawing::FillStyle_SOLID || !pGraphic));
+        (pXFillStyleItem->get<drawing::FillStyle>() != drawing::FillStyle_SOLID || (!pGraphic || !pGraphicURL) ));
     SAL_INFO_IF(pXFillStyleItem && pXFillStyleItem->hasValue() && !bFillStyleUsed,
             "sw.uno", "FillBaseProperties: ignoring invalid FillStyle");
     const bool bXFillStyleItemUsed(
@@ -325,6 +327,11 @@ bool BaseFrameProperties_Impl::FillBaseProperties(SfxItemSet& rToSet, const SfxI
             bRet &= static_cast<SfxPoolItem&>(aBrush).PutValue(*pGraphic, MID_GRAPHIC);
         }
 
+        if (pGraphicURL)
+        {
+            bRet &= static_cast<SfxPoolItem&>(aBrush).PutValue(*pGraphicURL, MID_GRAPHIC_URL);
+        }
+
         if(pGrFilter)
         {
             bRet &= static_cast<SfxPoolItem&>(aBrush).PutValue(*pGrFilter, MID_GRAPHIC_FILTER);
diff --git a/sw/source/core/unocore/unomap.cxx b/sw/source/core/unocore/unomap.cxx
index 8aeafe7e08a7..8445e08f935d 100644
--- a/sw/source/core/unocore/unomap.cxx
+++ b/sw/source/core/unocore/unomap.cxx
@@ -206,6 +206,7 @@ const SfxItemPropertyMapEntry* SwUnoPropertyMapProvider::GetPropertyMapEntries(s
                 static SfxItemPropertyMapEntry const aCellMap_Impl[] =
                 {
                     { OUString(UNO_NAME_BACK_COLOR), RES_BACKGROUND,    cppu::UnoType<sal_Int32>::get(),           PROPERTY_NONE , MID_BACK_COLOR       },
+                    { OUString(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },
                     { OUString(UNO_NAME_BACK_GRAPHIC), RES_BACKGROUND,      cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_LOCATION), RES_BACKGROUND,         cppu::UnoType<css::style::GraphicLocation>::get(), PROPERTY_NONE ,MID_GRAPHIC_POSITION},
@@ -374,6 +375,7 @@ const SfxItemPropertyMapEntry* SwUnoPropertyMapProvider::GetPropertyMapEntries(s
                     { OUString(UNO_NAME_LEVEL_FORMAT), WID_LEVEL_FORMAT                        ,  cppu::UnoType<css::container::XIndexReplace>::get()  , PROPERTY_NONE,   0},
                     { OUString(UNO_NAME_MAIN_ENTRY_CHARACTER_STYLE_NAME), WID_MAIN_ENTRY_CHARACTER_STYLE_NAME     ,  cppu::UnoType<OUString>::get()  , PROPERTY_NONE,     0},
                     { OUString(UNO_NAME_TEXT_COLUMNS), RES_COL,                cppu::UnoType<css::text::XTextColumns>::get(),    PROPERTY_NONE, MID_COLUMNS},
+                    { OUString(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },
                     { OUString(UNO_NAME_BACK_GRAPHIC), RES_BACKGROUND,      cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_LOCATION), RES_BACKGROUND,         cppu::UnoType<css::style::GraphicLocation>::get(),          PROPERTY_NONE ,MID_GRAPHIC_POSITION},
@@ -414,6 +416,7 @@ const SfxItemPropertyMapEntry* SwUnoPropertyMapProvider::GetPropertyMapEntries(s
                     { OUString(UNO_NAME_LEVEL_PARAGRAPH_STYLES), WID_LEVEL_PARAGRAPH_STYLES              ,  cppu::UnoType<css::container::XIndexReplace>::get()  , PropertyAttribute::READONLY,     0},
                     { OUString(UNO_NAME_CREATE_FROM_LEVEL_PARAGRAPH_STYLES), WID_CREATE_FROM_PARAGRAPH_STYLES, cppu::UnoType<bool>::get(), PROPERTY_NONE, 0},
                     { OUString(UNO_NAME_TEXT_COLUMNS), RES_COL,                cppu::UnoType<css::text::XTextColumns>::get(),    PROPERTY_NONE, MID_COLUMNS},
+                    { OUString(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },
                     { OUString(UNO_NAME_BACK_GRAPHIC), RES_BACKGROUND,      cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_LOCATION), RES_BACKGROUND,         cppu::UnoType<css::style::GraphicLocation>::get(),          PROPERTY_NONE ,MID_GRAPHIC_POSITION},
@@ -459,6 +462,7 @@ const SfxItemPropertyMapEntry* SwUnoPropertyMapProvider::GetPropertyMapEntries(s
                     { OUString(UNO_NAME_CREATE_FROM_GRAPHIC_OBJECTS), WID_CREATE_FROM_GRAPHIC_OBJECTS         ,  cppu::UnoType<bool>::get()  , PROPERTY_NONE,     0},
                     { OUString(UNO_NAME_CREATE_FROM_EMBEDDED_OBJECTS), WID_CREATE_FROM_EMBEDDED_OBJECTS        ,  cppu::UnoType<bool>::get()  , PROPERTY_NONE,     0},
                     { OUString(UNO_NAME_TEXT_COLUMNS), RES_COL,                cppu::UnoType<css::text::XTextColumns>::get(),    PROPERTY_NONE, MID_COLUMNS},
+                    { OUString(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },
                     { OUString(UNO_NAME_BACK_GRAPHIC), RES_BACKGROUND,      cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_LOCATION), RES_BACKGROUND,         cppu::UnoType<css::style::GraphicLocation>::get(),          PROPERTY_NONE ,MID_GRAPHIC_POSITION},
@@ -495,6 +499,7 @@ const SfxItemPropertyMapEntry* SwUnoPropertyMapProvider::GetPropertyMapEntries(s
                     { OUString(UNO_NAME_LABEL_DISPLAY_TYPE), WID_LABEL_DISPLAY_TYPE                  ,  cppu::UnoType<sal_Int16>::get()  , PROPERTY_NONE,     0},
                     { OUString(UNO_NAME_LEVEL_FORMAT), WID_LEVEL_FORMAT                        ,  cppu::UnoType<css::container::XIndexReplace>::get()  , PROPERTY_NONE,0},
                     { OUString(UNO_NAME_TEXT_COLUMNS), RES_COL,                cppu::UnoType<css::text::XTextColumns>::get(),    PROPERTY_NONE, MID_COLUMNS},
+                    { OUString(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },
                     { OUString(UNO_NAME_BACK_GRAPHIC), RES_BACKGROUND,      cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_LOCATION), RES_BACKGROUND,         cppu::UnoType<css::style::GraphicLocation>::get(),          PROPERTY_NONE ,MID_GRAPHIC_POSITION},
@@ -523,6 +528,7 @@ const SfxItemPropertyMapEntry* SwUnoPropertyMapProvider::GetPropertyMapEntries(s
                     { OUString(UNO_NAME_CREATE_FROM_STAR_DRAW), WID_CREATE_FROM_STAR_DRAW               ,  cppu::UnoType<bool>::get()  , PROPERTY_NONE,     0},
                     { OUString(UNO_NAME_CREATE_FROM_OTHER_EMBEDDED_OBJECTS), WID_CREATE_FROM_OTHER_EMBEDDED_OBJECTS  ,  cppu::UnoType<bool>::get()  , PROPERTY_NONE,     0},
                     { OUString(UNO_NAME_TEXT_COLUMNS), RES_COL,                cppu::UnoType<css::text::XTextColumns>::get(),    PROPERTY_NONE, MID_COLUMNS},
+                    { OUString(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },
                     { OUString(UNO_NAME_BACK_GRAPHIC), RES_BACKGROUND,      cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_LOCATION), RES_BACKGROUND,         cppu::UnoType<css::style::GraphicLocation>::get(),          PROPERTY_NONE ,MID_GRAPHIC_POSITION},
@@ -549,6 +555,7 @@ const SfxItemPropertyMapEntry* SwUnoPropertyMapProvider::GetPropertyMapEntries(s
                     { OUString(UNO_NAME_LABEL_DISPLAY_TYPE), WID_LABEL_DISPLAY_TYPE                  ,  cppu::UnoType<sal_Int16>::get()  , PROPERTY_NONE,     0},
                     { OUString(UNO_NAME_LEVEL_FORMAT), WID_LEVEL_FORMAT                        ,  cppu::UnoType<css::container::XIndexReplace>::get()  , PROPERTY_NONE,0},
                     { OUString(UNO_NAME_TEXT_COLUMNS), RES_COL,                cppu::UnoType<css::text::XTextColumns>::get(),    PROPERTY_NONE, MID_COLUMNS},
+                    { OUString(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },
                     { OUString(UNO_NAME_BACK_GRAPHIC), RES_BACKGROUND,      cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_LOCATION), RES_BACKGROUND,         cppu::UnoType<css::style::GraphicLocation>::get(),          PROPERTY_NONE ,MID_GRAPHIC_POSITION},
@@ -567,6 +574,7 @@ const SfxItemPropertyMapEntry* SwUnoPropertyMapProvider::GetPropertyMapEntries(s
                 static SfxItemPropertyMapEntry const aTableRowPropertyMap_Impl[] =
                 {
                     { OUString(UNO_NAME_BACK_COLOR), RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR         },
+                    { OUString(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },
                     { OUString(UNO_NAME_BACK_GRAPHIC), RES_BACKGROUND,      cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_LOCATION), RES_BACKGROUND,         cppu::UnoType<css::style::GraphicLocation>::get(),          PROPERTY_NONE ,MID_GRAPHIC_POSITION},
@@ -606,6 +614,7 @@ const SfxItemPropertyMapEntry* SwUnoPropertyMapProvider::GetPropertyMapEntries(s
                     BASE_INDEX_PROPERTIES_
                     { OUString(UNO_NAME_IS_PROTECTED), WID_PROTECTED                           ,  cppu::UnoType<bool>::get()  , PROPERTY_NONE,     0},
                     { OUString(UNO_NAME_TEXT_COLUMNS), RES_COL,                cppu::UnoType<css::text::XTextColumns>::get(),    PROPERTY_NONE, MID_COLUMNS},
+                    { OUString(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },
                     { OUString(UNO_NAME_BACK_GRAPHIC), RES_BACKGROUND,      cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },
                     { OUString(UNO_NAME_BACK_GRAPHIC_LOCATION), RES_BACKGROUND,         cppu::UnoType<css::style::GraphicLocation>::get(),          PROPERTY_NONE ,MID_GRAPHIC_POSITION},
diff --git a/sw/source/core/unocore/unomap1.cxx b/sw/source/core/unocore/unomap1.cxx
index 35723c4a3893..10365bd83082 100644
--- a/sw/source/core/unocore/unomap1.cxx
+++ b/sw/source/core/unocore/unomap1.cxx
@@ -392,6 +392,7 @@ const SfxItemPropertyMapEntry*  SwUnoPropertyMapProvider::GetFrameStylePropertyM
     /*not impl*/    { OUString(UNO_NAME_CLIENT_MAP), RES_URL,               cppu::UnoType<bool>::get(),         PROPERTY_NONE ,MID_URL_CLIENTMAP         },
         { OUString(UNO_NAME_CONTENT_PROTECTED), RES_PROTECT,            cppu::UnoType<bool>::get(),             PROPERTY_NONE, MID_PROTECT_CONTENT   },
         { OUString(UNO_NAME_EDIT_IN_READONLY), RES_EDIT_IN_READONLY,    cppu::UnoType<bool>::get(),         PROPERTY_NONE, 0},
+        { OUString(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },
         { OUString(UNO_NAME_BACK_GRAPHIC), RES_BACKGROUND, cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC },
         { OUString(UNO_NAME_BACK_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },
         { OUString(UNO_NAME_BACK_GRAPHIC_LOCATION), RES_BACKGROUND,         cppu::UnoType<css::style::GraphicLocation>::get(),          PROPERTY_NONE ,MID_GRAPHIC_POSITION},
@@ -476,6 +477,7 @@ const SfxItemPropertyMapEntry*  SwUnoPropertyMapProvider::GetPageStylePropertyMa
     static SfxItemPropertyMapEntry const aPageStyleMap   [] =
     {
         { OUString(UNO_NAME_BACK_COLOR), RES_BACKGROUND,            cppu::UnoType<sal_Int32>::get(),           PROPERTY_NONE ,MID_BACK_COLOR        },
+        { OUString(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },
         { OUString(UNO_NAME_BACK_GRAPHIC), RES_BACKGROUND, cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC },
         { OUString(UNO_NAME_BACK_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },
         { OUString(UNO_NAME_BACK_GRAPHIC_LOCATION), RES_BACKGROUND,         cppu::UnoType<css::style::GraphicLocation>::get(), PROPERTY_NONE ,MID_GRAPHIC_POSITION},
@@ -498,6 +500,7 @@ const SfxItemPropertyMapEntry*  SwUnoPropertyMapProvider::GetPageStylePropertyMa
         // The implementation will decide if these are part of Header/Footer or PageStyle depending on the SlotName,
         // more precisely on the first characters. Thus it is necessary that these are 'Header' for the Header slots
         { OUString(UNO_NAME_HEADER_BACK_COLOR), RES_BACKGROUND,   cppu::UnoType<sal_Int32>::get(),           PROPERTY_NONE ,MID_BACK_COLOR        },
+        { OUString(UNO_NAME_HEADER_GRAPHIC_URL), RES_BACKGROUND,          cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },
         { OUString(UNO_NAME_HEADER_GRAPHIC), RES_BACKGROUND, cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC },
         { OUString(UNO_NAME_HEADER_GRAPHIC_FILTER), RES_BACKGROUND,           cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },
         { OUString(UNO_NAME_HEADER_GRAPHIC_LOCATION), RES_BACKGROUND,     cppu::UnoType<css::style::GraphicLocation>::get(), PROPERTY_NONE ,MID_GRAPHIC_POSITION},
@@ -526,6 +529,7 @@ const SfxItemPropertyMapEntry*  SwUnoPropertyMapProvider::GetPageStylePropertyMa
 
         //UUU use real WhichIDs for Footer, see Header (above) for more infos
         { OUString(UNO_NAME_FOOTER_BACK_COLOR), RES_BACKGROUND,   cppu::UnoType<sal_Int32>::get(),           PROPERTY_NONE ,MID_BACK_COLOR        },
+        { OUString(UNO_NAME_FOOTER_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },
         { OUString(UNO_NAME_FOOTER_GRAPHIC), RES_BACKGROUND, cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC },
         { OUString(UNO_NAME_FOOTER_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },
         { OUString(UNO_NAME_FOOTER_GRAPHIC_LOCATION), RES_BACKGROUND,     cppu::UnoType<css::style::GraphicLocation>::get(), PROPERTY_NONE ,MID_GRAPHIC_POSITION},
@@ -672,6 +676,7 @@ const SfxItemPropertyMapEntry*  SwUnoPropertyMapProvider::GetTablePropertyMap()
     {
         { OUString(UNO_NAME_BACK_COLOR), RES_BACKGROUND,        cppu::UnoType<sal_Int32>::get(),           PROPERTY_NONE,MID_BACK_COLOR         },
         { OUString(UNO_NAME_BREAK_TYPE), RES_BREAK,                 cppu::UnoType<css::style::BreakType>::get(),       PROPERTY_NONE, 0},
+        { OUString(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },
         { OUString(UNO_NAME_BACK_GRAPHIC), RES_BACKGROUND, cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC },
         { OUString(UNO_NAME_BACK_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },
         { OUString(UNO_NAME_BACK_GRAPHIC_LOCATION), RES_BACKGROUND,         cppu::UnoType<css::style::GraphicLocation>::get(), PROPERTY_NONE ,MID_GRAPHIC_POSITION},
@@ -724,6 +729,7 @@ const SfxItemPropertyMapEntry*  SwUnoPropertyMapProvider::GetRangePropertyMap()
         COMMON_CRSR_PARA_PROPERTIES_WITHOUT_FN_01
         TABSTOPS_MAP_ENTRY
         { OUString(UNO_NAME_BACK_COLOR), FN_UNO_TABLE_CELL_BACKGROUND,  cppu::UnoType<sal_Int32>::get(),   PropertyAttribute::MAYBEVOID, MID_BACK_COLOR  },
+        { OUString(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PropertyAttribute::MAYBEVOID ,MID_GRAPHIC_URL    },
         { OUString(UNO_NAME_BACK_GRAPHIC), RES_BACKGROUND, cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC },
         { OUString(UNO_NAME_BACK_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PropertyAttribute::MAYBEVOID ,MID_GRAPHIC_FILTER    },
         { OUString(UNO_NAME_BACK_GRAPHIC_LOCATION), FN_UNO_TABLE_CELL_BACKGROUND,   cppu::UnoType<css::style::GraphicLocation>::get(), PropertyAttribute::MAYBEVOID, MID_GRAPHIC_POSITION},
@@ -753,6 +759,7 @@ const SfxItemPropertyMapEntry*  SwUnoPropertyMapProvider::GetSectionPropertyMap(
         { OUString(UNO_NAME_EDIT_IN_READONLY), WID_SECT_EDIT_IN_READONLY,    cppu::UnoType<bool>::get(),         PROPERTY_NONE, 0},
         { OUString(UNO_NAME_LINK_REGION), WID_SECT_REGION   , cppu::UnoType<OUString>::get()  ,        PROPERTY_NONE,     0},
         { OUString(UNO_NAME_TEXT_COLUMNS), RES_COL,                cppu::UnoType<css::text::XTextColumns>::get(),    PROPERTY_NONE, MID_COLUMNS},
+        { OUString(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },
         { OUString(UNO_NAME_BACK_GRAPHIC), RES_BACKGROUND, cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC },
         { OUString(UNO_NAME_BACK_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },
         { OUString(UNO_NAME_BACK_GRAPHIC_LOCATION), RES_BACKGROUND,         cppu::UnoType<css::style::GraphicLocation>::get(),          PROPERTY_NONE ,MID_GRAPHIC_POSITION},
@@ -959,6 +966,7 @@ const SfxItemPropertyMapEntry*  SwUnoPropertyMapProvider::GetTextTableCursorProp
 
         // attributes from PROPERTY_MAP_TABLE_CELL:
         { OUString(UNO_NAME_BACK_COLOR), RES_BACKGROUND,    cppu::UnoType<sal_Int32>::get(),           PROPERTY_NONE , MID_BACK_COLOR       },
+        { OUString(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },
         { OUString(UNO_NAME_BACK_GRAPHIC), RES_BACKGROUND, cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC },
         { OUString(UNO_NAME_BACK_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },
         { OUString(UNO_NAME_BACK_GRAPHIC_LOCATION), RES_BACKGROUND,         cppu::UnoType<css::style::GraphicLocation>::get(), PROPERTY_NONE ,MID_GRAPHIC_POSITION},
diff --git a/sw/source/core/unocore/unomapproperties.hxx b/sw/source/core/unocore/unomapproperties.hxx
index f5d422b43efc..56a183111640 100644
--- a/sw/source/core/unocore/unomapproperties.hxx
+++ b/sw/source/core/unocore/unomapproperties.hxx
@@ -132,6 +132,7 @@
         { OUString(UNO_NAME_CHAR_OVERLINE),                       RES_CHRATR_OVERLINE,           cppu::UnoType<sal_Int16>::get(),         PropertyAttribute::MAYBEVOID, MID_TL_STYLE                           }, \
         { OUString(UNO_NAME_CHAR_OVERLINE_COLOR),                 RES_CHRATR_OVERLINE,           cppu::UnoType<sal_Int32>::get(),         PropertyAttribute::MAYBEVOID, MID_TL_COLOR                           }, \
         { OUString(UNO_NAME_CHAR_OVERLINE_HAS_COLOR),             RES_CHRATR_OVERLINE,           cppu::UnoType<bool>::get(),       PropertyAttribute::MAYBEVOID, MID_TL_HASCOLOR                        }, \
+        { OUString(UNO_NAME_PARA_GRAPHIC_URL),                    RES_BACKGROUND,                cppu::UnoType<OUString>::get(),      PropertyAttribute::MAYBEVOID, MID_GRAPHIC_URL                        }, \
         { OUString(UNO_NAME_PARA_GRAPHIC),                        RES_BACKGROUND,                cppu::UnoType<css::graphic::XGraphic>::get(),      PropertyAttribute::MAYBEVOID, MID_GRAPHIC                        }, \
         { OUString(UNO_NAME_PARA_GRAPHIC_FILTER),                 RES_BACKGROUND,                cppu::UnoType<OUString>::get(),      PropertyAttribute::MAYBEVOID, MID_GRAPHIC_FILTER                     }, \
         { OUString(UNO_NAME_PARA_GRAPHIC_LOCATION),               RES_BACKGROUND,                cppu::UnoType<css::style::GraphicLocation>::get(),    PropertyAttribute::MAYBEVOID, MID_GRAPHIC_POSITION                   }, \
@@ -267,6 +268,7 @@
     { OUString(UNO_NAME_FRAME_INTEROP_GRAB_BAG), RES_FRMATR_GRABBAG, cppu::UnoType< cppu::UnoSequenceType<css::beans::PropertyValue> >::get(), PROPERTY_NONE, 0}, \
     { OUString(UNO_NAME_CONTENT_PROTECTED), RES_PROTECT,            cppu::UnoType<bool>::get(),             PROPERTY_NONE, MID_PROTECT_CONTENT  },                          \
     { OUString(UNO_NAME_FRAME_STYLE_NAME), FN_UNO_FRAME_STYLE_NAME,cppu::UnoType<OUString>::get(),         PROPERTY_NONE, 0},                                   \
+    { OUString(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(),        PROPERTY_NONE ,MID_GRAPHIC_URL    },                 \
     { OUString(UNO_NAME_BACK_GRAPHIC), RES_BACKGROUND, cppu::UnoType<css::graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC }, \
     { OUString(UNO_NAME_BACK_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(),        PROPERTY_NONE ,MID_GRAPHIC_FILTER    },              \
     { OUString(UNO_NAME_BACK_GRAPHIC_LOCATION), RES_BACKGROUND,         cppu::UnoType<css::style::GraphicLocation>::get(), PROPERTY_NONE ,MID_GRAPHIC_POSITION}, \
@@ -350,6 +352,7 @@
                     { OUString(UNO_NAME_CHAR_HIGHLIGHT), RES_CHRATR_HIGHLIGHT, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR },\
                     { OUString(UNO_NAME_PARA_BACK_COLOR), RES_BACKGROUND,       cppu::UnoType<sal_Int32>::get(),           PROPERTY_NONE ,MID_BACK_COLOR        },\
                     { OUString(UNO_NAME_PARA_BACK_TRANSPARENT), RES_BACKGROUND,         cppu::UnoType<bool>::get(),         PROPERTY_NONE ,MID_GRAPHIC_TRANSPARENT       },\
+                    { OUString(UNO_NAME_PARA_GRAPHIC_URL), RES_BACKGROUND,      cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL    },\
                     { OUString(UNO_NAME_PARA_GRAPHIC), RES_BACKGROUND,      cppu::UnoType<css::graphic::XGraphic>::get(), PROPERTY_NONE ,MID_GRAPHIC    },\
                     { OUString(UNO_NAME_PARA_GRAPHIC_FILTER), RES_BACKGROUND,       cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER    },\
                     { OUString(UNO_NAME_PARA_GRAPHIC_LOCATION), RES_BACKGROUND,         cppu::UnoType<css::style::GraphicLocation>::get(), PROPERTY_NONE ,MID_GRAPHIC_POSITION}, \
diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx
index ca2042b11c28..f9a09b31df61 100644
--- a/writerfilter/source/dmapper/PropertyMap.cxx
+++ b/writerfilter/source/dmapper/PropertyMap.cxx
@@ -51,6 +51,7 @@
 #include <comphelper/propertyvalue.hxx>
 #include <tools/diagnose_ex.h>
 #include "PropertyMapHelper.hxx"
+#include <set>
 
 using namespace com::sun::star;
 
@@ -1459,10 +1460,18 @@ void SectionPropertyMap::CloseSectionGroup( DomainMapper_Impl& rDM_Impl )
                 uno::Reference< beans::XPropertySet > pageProperties( m_bTitlePage ? m_aFirstPageStyle : m_aFollowPageStyle );
                 uno::Reference< beans::XPropertySetInfo > pagePropertiesInfo( pageProperties->getPropertySetInfo() );
                 uno::Sequence< beans::Property > propertyList( pagePropertiesInfo->getProperties() );
+                // Ignore write-only properties.
+                static const std::set<OUString> aBlacklist
+                    = { "FooterBackGraphicURL", "BackGraphicURL", "HeaderBackGraphicURL" };
                 for ( int i = 0; i < propertyList.getLength(); ++i )
                 {
                     if ( (propertyList[i].Attributes & beans::PropertyAttribute::READONLY) == 0 )
-                        evenOddStyle->setPropertyValue( propertyList[i].Name, pageProperties->getPropertyValue( propertyList[i].Name ) );
+                    {
+                        if (aBlacklist.find(propertyList[i].Name) == aBlacklist.end())
+                            evenOddStyle->setPropertyValue(
+                                propertyList[i].Name,
+                                pageProperties->getPropertyValue(propertyList[i].Name));
+                    }
                 }
                 evenOddStyle->setPropertyValue( "FollowStyle", uno::makeAny( *pageStyle ) );
                 rDM_Impl.GetPageStyles()->insertByName( evenOddStyleName, uno::makeAny( evenOddStyle ) );


More information about the Libreoffice-commits mailing list