chart2/source/controller/sidebar/ChartAreaPanel.cxx |    5 +
 chart2/source/controller/sidebar/ChartAreaPanel.hxx |    1 
 include/svx/sidebar/AreaPropertyPanelBase.hxx       |    5 +
 include/svx/strings.hrc                             |    1 
 include/svx/svxids.hrc                              |    2 
 include/svx/xfilluseslidebackgrounditem.hxx         |    9 +--
 sd/sdi/_drvwsh.sdi                                  |    5 +
 sd/source/ui/func/fuarea.cxx                        |    1 
 sd/source/ui/table/tableobjectbar.cxx               |    1 
 sd/source/ui/view/drviews2.cxx                      |    2 
 sd/source/ui/view/drviewsf.cxx                      |    1 
 sd/source/ui/view/drviewsj.cxx                      |    3 +
 svx/sdi/svx.sdi                                     |   16 ++++++
 svx/source/sidebar/area/AreaPropertyPanel.cxx       |    9 +++
 svx/source/sidebar/area/AreaPropertyPanel.hxx       |    3 +
 svx/source/sidebar/area/AreaPropertyPanelBase.cxx   |   52 +++++++++++++++++++-
 svx/source/tbxctrls/itemwin.cxx                     |    1 
 svx/source/xoutdev/xpool.cxx                        |    1 
 18 files changed, 111 insertions(+), 7 deletions(-)

New commits:
commit ecfb133598df609037263e06949acbbf520622b3
Author:     Samuel Mehrbrodt <[email protected]>
AuthorDate: Thu Jun 16 08:52:13 2022 +0200
Commit:     Samuel Mehrbrodt <[email protected]>
CommitDate: Wed Jun 22 16:54:21 2022 +0200

    tdf#128150 Adapt sidebar to new "use slide background" property
    
    Change-Id: Idce049a7498f98b0079c708236cfeff7fddd6e95
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135963
    Tested-by: Jenkins
    Reviewed-by: Samuel Mehrbrodt <[email protected]>

diff --git a/chart2/source/controller/sidebar/ChartAreaPanel.cxx 
b/chart2/source/controller/sidebar/ChartAreaPanel.cxx
index b54df41ebd39..71e978e14543 100644
--- a/chart2/source/controller/sidebar/ChartAreaPanel.cxx
+++ b/chart2/source/controller/sidebar/ChartAreaPanel.cxx
@@ -408,6 +408,11 @@ void ChartAreaPanel::setFillStyleAndBitmap(const 
XFillStyleItem* pStyleItem,
     xPropSet->setPropertyValue("FillBitmapName", aBitmap);
 }
 
+void ChartAreaPanel::setFillUseBackground(const XFillStyleItem* /*pStyleItem*/,
+                                          const XFillUseSlideBackgroundItem& 
/*rItem*/)
+{
+}
+
 void ChartAreaPanel::updateData()
 {
     if (!mbUpdate || !mbModelValid)
diff --git a/chart2/source/controller/sidebar/ChartAreaPanel.hxx 
b/chart2/source/controller/sidebar/ChartAreaPanel.hxx
index 132513412518..75caf8d0d30a 100644
--- a/chart2/source/controller/sidebar/ChartAreaPanel.hxx
+++ b/chart2/source/controller/sidebar/ChartAreaPanel.hxx
@@ -57,6 +57,7 @@ public:
     virtual void setFillStyleAndGradient(const XFillStyleItem* pStyleItem, 
const XFillGradientItem& rGradientItem) override;
     virtual void setFillStyleAndHatch(const XFillStyleItem* pStyleItem, const 
XFillHatchItem& rHatchItem) override;
     virtual void setFillStyleAndBitmap(const XFillStyleItem* pStyleItem, const 
XFillBitmapItem& rBitmapItem) override;
+    virtual void setFillUseBackground(const XFillStyleItem* pStyleItem, const 
XFillUseSlideBackgroundItem& rItem) override;
 
     virtual void updateData() override;
     virtual void modelInvalid() override;
diff --git a/include/svx/sidebar/AreaPropertyPanelBase.hxx 
b/include/svx/sidebar/AreaPropertyPanelBase.hxx
index 12fcebe16581..00519eed91e6 100644
--- a/include/svx/sidebar/AreaPropertyPanelBase.hxx
+++ b/include/svx/sidebar/AreaPropertyPanelBase.hxx
@@ -24,6 +24,7 @@
 #include <sfx2/sidebar/ControllerItem.hxx>
 #include <svx/colorbox.hxx>
 #include <svx/xgrad.hxx>
+#include <svx/xfilluseslidebackgrounditem.hxx>
 #include <svx/xfillit0.hxx>
 #include <svx/xflclit.hxx>
 #include <svx/xflgrit.hxx>
@@ -35,6 +36,7 @@
 
 class ToolbarUnoDispatcher;
 class XFillFloatTransparenceItem;
+class XFillUseSlideBackgroundItem;
 class XFillTransparenceItem;
 class XFillStyleItem;
 class XFillGradientItem;
@@ -84,6 +86,7 @@ public:
     virtual void setFillStyleAndGradient(const XFillStyleItem* pStyleItem, 
const XFillGradientItem& aGradientItem) = 0;
     virtual void setFillStyleAndHatch(const XFillStyleItem* pStyleItem, const 
XFillHatchItem& aHatchItem) = 0;
     virtual void setFillStyleAndBitmap(const XFillStyleItem* pStyleItem, const 
XFillBitmapItem& aHatchItem) = 0;
+    virtual void setFillUseBackground(const XFillStyleItem* pStyleItem, const 
XFillUseSlideBackgroundItem& rItem) = 0;
 
     void updateFillTransparence(bool bDisabled, bool bDefaultOrSet, const 
SfxPoolItem* pState);
     void updateFillFloatTransparence(bool bDisabled, bool bDefaultOrSet, const 
SfxPoolItem* pState);
@@ -92,6 +95,7 @@ public:
     void updateFillHatch(bool bDisabled, bool bDefaultOrSet, const 
SfxPoolItem* pState);
     void updateFillColor(bool bDefaultOrSet, const SfxPoolItem* pState);
     void updateFillBitmap(bool BDisabled, bool bDefaultOrSet, const 
SfxPoolItem* pState);
+    void updateFillUseBackground(bool BDisabled, bool bDefaultOrSet, const 
SfxPoolItem* pState);
 
 private:
     void Initialize();
@@ -145,6 +149,7 @@ protected:
     OUString  maImgLinear;
 
     std::unique_ptr< XFillFloatTransparenceItem >   mpFloatTransparenceItem;
+    std::unique_ptr< XFillUseSlideBackgroundItem > mpUseSlideBackgroundItem;
     std::unique_ptr< SfxUInt16Item >                mpTransparenceItem;
 
     DECL_DLLPRIVATE_LINK(SelectFillTypeHdl, weld::ComboBox&, void );
diff --git a/include/svx/strings.hrc b/include/svx/strings.hrc
index 6df58387733f..d3e08640350b 100644
--- a/include/svx/strings.hrc
+++ b/include/svx/strings.hrc
@@ -543,6 +543,7 @@
 #define RID_SVXSTR_GRADIENT                                 
NC_("RID_SVXSTR_GRADIENT", "Gradient")
 #define RID_SVXSTR_BITMAP                                   
NC_("RID_SVXSTR_BITMAP", "Bitmap")
 #define RID_SVXSTR_PATTERN                                  
NC_("RID_SVXSTR_PATTERN", "Pattern")
+#define RID_SVXSTR_USE_BACKGROUND                           
NC_("RID_SVXSTR_USE_BACKGROUND", "Use Slide Background")
 #define RID_SVXSTR_PATTERN_UNTITLED                         
NC_("RID_SVXSTR_PATTERN_UNTITLED", "Untitled Pattern")
 #define RID_SVXSTR_LINESTYLE                                
NC_("RID_SVXSTR_LINESTYLE", "Line Style")
 #define RID_SVXSTR_INVISIBLE                                
NC_("RID_SVXSTR_INVISIBLE", "None")
diff --git a/include/svx/svxids.hrc b/include/svx/svxids.hrc
index d50be073c40d..96122a66bc10 100644
--- a/include/svx/svxids.hrc
+++ b/include/svx/svxids.hrc
@@ -966,7 +966,7 @@ class XFillGradientItem;
 #define SID_CELL_FORMAT_BORDER                          ( SID_SVX_START + 1132 
)
 #define SID_CHAR_DLG_EFFECT                             ( SID_SVX_START + 1133 
)
 #define SID_CHAR_DLG_POSITION                           ( SID_SVX_START + 1134 
)
-
+#define SID_ATTR_FILL_USE_SLIDE_BACKGROUND              ( SID_SVX_START + 1135 
)
 #define FN_SVX_SET_NUMBER                               ( SID_SVX_START + 1136 
)
 #define FN_SVX_SET_BULLET                               ( SID_SVX_START + 1137 
)
 #define FN_SVX_SET_OUTLINE                              ( SID_SVX_START + 1138 
)
diff --git a/include/svx/xfilluseslidebackgrounditem.hxx 
b/include/svx/xfilluseslidebackgrounditem.hxx
index 5a5cba891554..86317a903ee4 100644
--- a/include/svx/xfilluseslidebackgrounditem.hxx
+++ b/include/svx/xfilluseslidebackgrounditem.hxx
@@ -19,12 +19,11 @@ class SVXCORE_DLLPUBLIC XFillUseSlideBackgroundItem final : 
public SfxBoolItem
 public:
     XFillUseSlideBackgroundItem(bool bFill = false);
 
-    SVX_DLLPRIVATE virtual XFillUseSlideBackgroundItem* Clone(SfxItemPool* 
pPool
-                                                              = nullptr) const 
override;
+    virtual XFillUseSlideBackgroundItem* Clone(SfxItemPool* pPool = nullptr) 
const override;
 
-    SVX_DLLPRIVATE virtual bool GetPresentation(SfxItemPresentation ePres, 
MapUnit eCoreMetric,
-                                                MapUnit ePresMetric, OUString& 
rText,
-                                                const IntlWrapper&) const 
override;
+    virtual bool GetPresentation(SfxItemPresentation ePres, MapUnit 
eCoreMetric,
+                                 MapUnit ePresMetric, OUString& rText,
+                                 const IntlWrapper&) const override;
 
     void dumpAsXml(xmlTextWriterPtr pWriter) const override;
 };
diff --git a/sd/sdi/_drvwsh.sdi b/sd/sdi/_drvwsh.sdi
index 73c2181d0743..978866b97637 100644
--- a/sd/sdi/_drvwsh.sdi
+++ b/sd/sdi/_drvwsh.sdi
@@ -1402,6 +1402,11 @@ interface DrawView
         ExecMethod = FuTemporary ;
         StateMethod = GetAttrState ;
     ]
+    SID_ATTR_FILL_USE_SLIDE_BACKGROUND // ole : no, status : ?
+    [
+        ExecMethod = FuTemporary ;
+        StateMethod = GetAttrState ;
+    ]
     SID_ATTR_FILL_TRANSPARENCE // ole : no, status : ?
     [
         ExecMethod = FuTemporary ;
diff --git a/sd/source/ui/func/fuarea.cxx b/sd/source/ui/func/fuarea.cxx
index 4fe0d10179fc..2e35cac7b687 100644
--- a/sd/source/ui/func/fuarea.cxx
+++ b/sd/source/ui/func/fuarea.cxx
@@ -73,6 +73,7 @@ void FuArea::DoExecute( SfxRequest& rReq )
                 SID_ATTR_FILL_BITMAP,
                 SID_ATTR_FILL_TRANSPARENCE,
                 SID_ATTR_FILL_FLOATTRANSPARENCE,
+                SID_ATTR_FILL_USE_SLIDE_BACKGROUND,
                 0 };
 
             mpViewShell->GetViewFrame()->GetBindings().Invalidate( SidArray );
diff --git a/sd/source/ui/table/tableobjectbar.cxx 
b/sd/source/ui/table/tableobjectbar.cxx
index d351094eae9b..62d81d9805df 100644
--- a/sd/source/ui/table/tableobjectbar.cxx
+++ b/sd/source/ui/table/tableobjectbar.cxx
@@ -193,6 +193,7 @@ void TableObjectBar::Execute( SfxRequest& rReq )
         pBindings->Invalidate( SID_FRAME_LINECOLOR );
         pBindings->Invalidate( SID_ATTR_BORDER );
         pBindings->Invalidate( SID_ATTR_FILL_STYLE );
+        pBindings->Invalidate( SID_ATTR_FILL_USE_SLIDE_BACKGROUND );
         pBindings->Invalidate( SID_ATTR_FILL_TRANSPARENCE );
         pBindings->Invalidate( SID_ATTR_FILL_FLOATTRANSPARENCE );
         pBindings->Invalidate( SID_TABLE_MERGE_CELLS );
diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx
index a8906acfc40c..d7a6bc6a2c78 100644
--- a/sd/source/ui/view/drviews2.cxx
+++ b/sd/source/ui/view/drviews2.cxx
@@ -689,6 +689,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
         case SID_ATTR_SHADOW_BLUR:
         case SID_ATTR_SHADOW_XDISTANCE:
         case SID_ATTR_SHADOW_YDISTANCE:
+        case SID_ATTR_FILL_USE_SLIDE_BACKGROUND:
         case SID_ATTR_FILL_TRANSPARENCE:
         case SID_ATTR_FILL_FLOATTRANSPARENCE:
 
@@ -727,6 +728,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
                     case SID_ATTR_FILL_GRADIENT:
                     case SID_ATTR_FILL_HATCH:
                     case SID_ATTR_FILL_BITMAP:
+                    case SID_ATTR_FILL_USE_SLIDE_BACKGROUND:
                     case SID_ATTR_FILL_TRANSPARENCE:
                     case SID_ATTR_FILL_FLOATTRANSPARENCE:
                         GetViewFrame()->GetDispatcher()->Execute( 
SID_ATTRIBUTES_AREA, SfxCallMode::ASYNCHRON );
diff --git a/sd/source/ui/view/drviewsf.cxx b/sd/source/ui/view/drviewsf.cxx
index ae47828e8be5..8aab2c57602e 100644
--- a/sd/source/ui/view/drviewsf.cxx
+++ b/sd/source/ui/view/drviewsf.cxx
@@ -410,6 +410,7 @@ void DrawViewShell::GetAttrState( SfxItemSet& rSet )
             case SID_ATTR_SHADOW_BLUR:
             case SID_ATTR_SHADOW_XDISTANCE:
             case SID_ATTR_SHADOW_YDISTANCE:
+            case SID_ATTR_FILL_USE_SLIDE_BACKGROUND:
             case SID_ATTR_FILL_TRANSPARENCE:
             case SID_ATTR_FILL_FLOATTRANSPARENCE:
             case SID_ATTR_LINE_STYLE:
diff --git a/sd/source/ui/view/drviewsj.cxx b/sd/source/ui/view/drviewsj.cxx
index c034b98acb66..a1a7d899f4b3 100644
--- a/sd/source/ui/view/drviewsj.cxx
+++ b/sd/source/ui/view/drviewsj.cxx
@@ -65,6 +65,7 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
             SfxItemState::DEFAULT == rSet.GetItemState( 
SID_OBJECT_TITLE_DESCRIPTION ) ||
 
             SfxItemState::DEFAULT == rSet.GetItemState( SID_ATTR_FILL_STYLE ) 
||
+            SfxItemState::DEFAULT == rSet.GetItemState( 
SID_ATTR_FILL_USE_SLIDE_BACKGROUND ) ||
             SfxItemState::DEFAULT == rSet.GetItemState( 
SID_ATTR_FILL_TRANSPARENCE ) ||
             SfxItemState::DEFAULT == rSet.GetItemState( 
SID_ATTR_FILL_FLOATTRANSPARENCE ) ||
             SfxItemState::DEFAULT == rSet.GetItemState( SID_CHANGEBEZIER ) ||
@@ -167,6 +168,7 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
             {
                 //rSet.DisableItem( SID_ATTRIBUTES_AREA ); // remove again!
                 rSet.DisableItem( SID_ATTR_FILL_STYLE );
+                rSet.DisableItem( SID_ATTR_FILL_USE_SLIDE_BACKGROUND );
                 rSet.DisableItem( SID_ATTR_FILL_TRANSPARENCE );
                 rSet.DisableItem( SID_ATTR_FILL_FLOATTRANSPARENCE );
             }
@@ -389,6 +391,7 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
             if( bLine && !bText && !bDrawObj &&!b3dObj)
             {
                 rSet.DisableItem( SID_ATTR_FILL_STYLE );
+                rSet.DisableItem( SID_ATTR_FILL_USE_SLIDE_BACKGROUND );
                 rSet.DisableItem( SID_ATTR_FILL_TRANSPARENCE );
                 rSet.DisableItem( SID_ATTR_FILL_FLOATTRANSPARENCE );
             }
diff --git a/svx/sdi/svx.sdi b/svx/sdi/svx.sdi
index de7ef9914b4c..0336b6c2d101 100644
--- a/svx/sdi/svx.sdi
+++ b/svx/sdi/svx.sdi
@@ -11769,7 +11769,23 @@ SfxBoolItem PrepareMailExport SID_MAIL_PREPAREEXPORT
     GroupId = SfxGroupId::Explorer;
 ]
 
+/* TODO: SfxBoolItem or XFillUseSlideBackgroundItem ? */
+SfxBoolItem FillUseSlideBackground SID_ATTR_FILL_USE_SLIDE_BACKGROUND
+[
+    AutoUpdate = TRUE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerSet;
+
 
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = FALSE,
+    GroupId = SfxGroupId::Format;
+]
 
 SfxUInt16Item FillTransparence SID_ATTR_FILL_TRANSPARENCE
 [
diff --git a/svx/source/sidebar/area/AreaPropertyPanel.cxx 
b/svx/source/sidebar/area/AreaPropertyPanel.cxx
index b4d22f6823ab..1bcbdac19e1e 100644
--- a/svx/source/sidebar/area/AreaPropertyPanel.cxx
+++ b/svx/source/sidebar/area/AreaPropertyPanel.cxx
@@ -46,6 +46,7 @@ AreaPropertyPanel::AreaPropertyPanel(
       maPatternListControl(SID_PATTERN_LIST, *pBindings, *this),
       maFillTransparenceController(SID_ATTR_FILL_TRANSPARENCE, *pBindings, 
*this),
       maFillFloatTransparenceController(SID_ATTR_FILL_FLOATTRANSPARENCE, 
*pBindings, *this),
+      maFillUseSlideBackgroundController(SID_ATTR_FILL_USE_SLIDE_BACKGROUND, 
*pBindings, *this),
       mpBindings(pBindings)
 {
 }
@@ -86,6 +87,14 @@ void AreaPropertyPanel::setFillTransparence(const 
XFillTransparenceItem& rItem)
             SfxCallMode::RECORD, { &rItem });
 }
 
+void AreaPropertyPanel::setFillUseBackground(const XFillStyleItem* pStyleItem,
+                                             const 
XFillUseSlideBackgroundItem& rItem)
+{
+    GetBindings()->GetDispatcher()->ExecuteList(
+        SID_ATTR_FILL_USE_SLIDE_BACKGROUND, SfxCallMode::RECORD,
+        std::initializer_list<SfxPoolItem const*>{ &rItem, pStyleItem });
+}
+
 void AreaPropertyPanel::setFillFloatTransparence(const 
XFillFloatTransparenceItem& rItem)
 {
     
GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_FILL_FLOATTRANSPARENCE,
diff --git a/svx/source/sidebar/area/AreaPropertyPanel.hxx 
b/svx/source/sidebar/area/AreaPropertyPanel.hxx
index ec7c1223d108..6c398e6ac077 100644
--- a/svx/source/sidebar/area/AreaPropertyPanel.hxx
+++ b/svx/source/sidebar/area/AreaPropertyPanel.hxx
@@ -30,6 +30,7 @@
 
 class XFillFloatTransparenceItem;
 class XFillTransparenceItem;
+class XFillUseSlideBackgroundItem;
 class XFillStyleItem;
 class XFillGradientItem;
 class XFillColorItem;
@@ -59,6 +60,7 @@ public:
     virtual ~AreaPropertyPanel() override;
 
     virtual void setFillTransparence(const XFillTransparenceItem& rItem) 
override;
+    virtual void setFillUseBackground(const XFillStyleItem* pStyleItem, const 
XFillUseSlideBackgroundItem& rItem) override;
     virtual void setFillFloatTransparence(const XFillFloatTransparenceItem& 
rItem) override;
     virtual void setFillStyle(const XFillStyleItem& rItem) override;
     virtual void setFillStyleAndColor(const XFillStyleItem* pStyleItem, const 
XFillColorItem& aColorItem) override;
@@ -78,6 +80,7 @@ private:
     ::sfx2::sidebar::ControllerItem maPatternListControl;
     ::sfx2::sidebar::ControllerItem maFillTransparenceController;
     ::sfx2::sidebar::ControllerItem maFillFloatTransparenceController;
+    ::sfx2::sidebar::ControllerItem maFillUseSlideBackgroundController;
 
     SfxBindings* mpBindings;
 };
diff --git a/svx/source/sidebar/area/AreaPropertyPanelBase.cxx 
b/svx/source/sidebar/area/AreaPropertyPanelBase.cxx
index baaf3c4b5189..801970514854 100644
--- a/svx/source/sidebar/area/AreaPropertyPanelBase.cxx
+++ b/svx/source/sidebar/area/AreaPropertyPanelBase.cxx
@@ -25,6 +25,7 @@
 #include <sfx2/objsh.hxx>
 #include <svx/xfltrit.hxx>
 #include <svx/xflftrit.hxx>
+#include <svx/xfilluseslidebackgrounditem.hxx>
 #include <svx/xtable.hxx>
 #include <sfx2/sidebar/Panel.hxx>
 #include <sfx2/opengrf.hxx>
@@ -49,7 +50,8 @@ enum eFillStyle
     GRADIENT,
     HATCH,
     BITMAP,
-    PATTERN
+    PATTERN,
+    USE_BACKGROUND
 };
 
 }
@@ -421,6 +423,22 @@ IMPL_LINK_NOARG(AreaPropertyPanelBase, SelectFillTypeHdl, 
weld::ComboBox&, void)
             setFillStyleAndBitmap(&aXFillStyleItem, aXFillBitmapItem);
             break;
         }
+        case USE_BACKGROUND:
+        {
+            mxLbFillAttr->show();
+            mxLbFillGradFrom->hide();
+            mxLbFillGradTo->hide();
+            mxGradientStyle->hide();
+            mxMTRAngle->hide();
+            mxToolBoxColor->hide();
+            mxBmpImport->hide();
+            mxLbFillAttr->set_sensitive(false);
+
+            const XFillStyleItem aXFillStyleItem(drawing::FillStyle_NONE);
+            const XFillUseSlideBackgroundItem 
aXFillUseSlideBackgroundItem(true);
+            setFillUseBackground(&aXFillStyleItem, 
aXFillUseSlideBackgroundItem);
+            break;
+        }
     }
 
     meLastXFS = static_cast<sal_uInt16>(nPos);
@@ -972,6 +990,35 @@ void AreaPropertyPanelBase::updateFillBitmap(bool 
bDisabled, bool bDefaultOrSet,
         m_pPanel->TriggerDeckLayouting();
 }
 
+void AreaPropertyPanelBase::updateFillUseBackground(bool bDisabled, bool 
bDefaultOrSet, const SfxPoolItem* pState)
+{
+    if (bDisabled)
+    {
+        mpUseSlideBackgroundItem.reset();
+        return;
+    }
+
+    if (bDefaultOrSet)
+    {
+        if (pState)
+        {
+            const XFillUseSlideBackgroundItem* pItem = static_cast<const 
XFillUseSlideBackgroundItem*>(pState);
+            // When XFillUseSlideBackgroundItem is true, select "Use 
Background Fill". When false, select "None"
+            int nPos = pItem->GetValue() ? 6 : 0;
+            mxLbFillType->set_active(nPos);
+            mpUseSlideBackgroundItem.reset(pItem->Clone());
+        }
+        else
+        {
+            mpUseSlideBackgroundItem.reset();
+        }
+    }
+    else
+    {
+        mpUseSlideBackgroundItem.reset();
+    }
+}
+
 void AreaPropertyPanelBase::NotifyItemUpdate(
     sal_uInt16 nSID,
     SfxItemState eState,
@@ -1004,6 +1051,9 @@ void AreaPropertyPanelBase::NotifyItemUpdate(
         case SID_ATTR_FILL_BITMAP:
             updateFillBitmap(bDisabled, bDefaultOrSet, pState);
         break;
+        case SID_ATTR_FILL_USE_SLIDE_BACKGROUND:
+            updateFillUseBackground(bDisabled, bDefaultOrSet, pState);
+        break;
         case SID_GRADIENT_LIST:
         {
             if(bDefault)
diff --git a/svx/source/tbxctrls/itemwin.cxx b/svx/source/tbxctrls/itemwin.cxx
index 130fba5ae014..1a9b6d3bcf53 100644
--- a/svx/source/tbxctrls/itemwin.cxx
+++ b/svx/source/tbxctrls/itemwin.cxx
@@ -180,6 +180,7 @@ void SvxFillTypeBox::Fill(weld::ComboBox& rListBox)
     rListBox.append_text(SvxResId(RID_SVXSTR_HATCH));
     rListBox.append_text(SvxResId(RID_SVXSTR_BITMAP));
     rListBox.append_text(SvxResId(RID_SVXSTR_PATTERN));
+    rListBox.append_text(SvxResId(RID_SVXSTR_USE_BACKGROUND));
 
     rListBox.thaw();
 
diff --git a/svx/source/xoutdev/xpool.cxx b/svx/source/xoutdev/xpool.cxx
index 771b79ac4991..b3e044e83696 100644
--- a/svx/source/xoutdev/xpool.cxx
+++ b/svx/source/xoutdev/xpool.cxx
@@ -182,6 +182,7 @@ XOutdevItemPool::XOutdevItemPool(SfxItemPool* _pMaster)
     mpLocalItemInfos[XATTR_FORMTXTHIDEFORM  -XATTR_START]._nSID = 
SID_FORMTEXT_HIDEFORM;
 
     // associate new slots for panels with known items
+    mpLocalItemInfos[XATTR_FILLUSESLIDEBACKGROUND - XATTR_START]._nSID = 
SID_ATTR_FILL_USE_SLIDE_BACKGROUND;
     mpLocalItemInfos[XATTR_FILLTRANSPARENCE - XATTR_START]._nSID = 
SID_ATTR_FILL_TRANSPARENCE;
     mpLocalItemInfos[XATTR_FILLFLOATTRANSPARENCE - XATTR_START]._nSID = 
SID_ATTR_FILL_FLOATTRANSPARENCE;
     mpLocalItemInfos[XATTR_LINETRANSPARENCE - XATTR_START]._nSID = 
SID_ATTR_LINE_TRANSPARENCE;

Reply via email to