[Libreoffice-commits] core.git: officecfg/registry sd/source

Susobhan Ghosh susobhang70 at gmail.com
Thu Jun 16 08:09:57 UTC 2016


 officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu |   38 +++++------
 sd/source/ui/sidebar/SlideBackground.cxx                     |   35 +++++++++-
 sd/source/ui/sidebar/SlideBackground.hxx                     |    8 +-
 3 files changed, 59 insertions(+), 22 deletions(-)

New commits:
commit b0a9ba98ba83154680f8aea0fd0e58b85e2cfb04
Author: Susobhan Ghosh <susobhang70 at gmail.com>
Date:   Fri Jun 10 16:33:42 2016 +0530

    tdf#86759 and tdf#89466: Enable Page Background Panel for Draw
    
    Rename Slide Background Panel to Slide in Impress.
    Reorder Properties Deck
    
    Change-Id: Ib2039c41c56a0182887f19aa362d633dcabfe9dd
    Reviewed-on: https://gerrit.libreoffice.org/26159
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Katarina Behrens <Katarina.Behrens at cib.de>

diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
index 6b2f53a..f579ba1 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
@@ -693,62 +693,62 @@
         </prop>
       </node>
 
-      <node oor:name="SdLayoutsPanel" oor:op="replace">
+      <node oor:name="SlideBackgroundPanel" oor:op="replace">
         <prop oor:name="Title" oor:type="xs:string">
-          <value xml:lang="en-US">Layouts</value>
+          <value xml:lang="en-US">Slide</value>
         </prop>
         <prop oor:name="TitleBarIsOptional" oor:type="xs:boolean">
           <value>false</value>
         </prop>
         <prop oor:name="Id" oor:type="xs:string">
-          <value>SdLayoutsPanel</value>
+          <value>SlideBackgroundPanel</value>
         </prop>
         <prop oor:name="DeckId" oor:type="xs:string">
           <value>PropertyDeck</value>
         </prop>
         <prop oor:name="ContextList">
           <value oor:separator=";">
-            Impress, DrawPage,        visible   ;
-            Impress, default,         visible   ;
-            Impress, HandoutPage,     visible   ;
-            Impress, NotesPage,       visible   ;
-            Impress, SlidesorterPage, visible   ;
+            DrawImpress, DrawPage,        visible, .uno:PageSetup  ;
+            DrawImpress, default,         visible, .uno:PageSetup  ;
+            DrawImpress, HandoutPage,     visible, .uno:PageSetup  ;
+            DrawImpress, NotesPage,       visible, .uno:PageSetup  ;
+            DrawImpress, SlidesorterPage, visible, .uno:PageSetup  ;
           </value>
         </prop>
         <prop oor:name="ImplementationURL" oor:type="xs:string">
-          <value>private:resource/toolpanel/SdPanelFactory/Layouts</value>
+          <value>private:resource/toolpanel/SdPanelFactory/SlideBackgroundPanel</value>
         </prop>
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
       </node>
-      <node oor:name="SlideBackgroundPanel" oor:op="replace">
+      <node oor:name="SdLayoutsPanel" oor:op="replace">
         <prop oor:name="Title" oor:type="xs:string">
-          <value xml:lang="en-US">Slide Background</value>
+          <value xml:lang="en-US">Layouts</value>
         </prop>
         <prop oor:name="TitleBarIsOptional" oor:type="xs:boolean">
           <value>false</value>
         </prop>
         <prop oor:name="Id" oor:type="xs:string">
-          <value>SlideBackgroundPanel</value>
+          <value>SdLayoutsPanel</value>
         </prop>
         <prop oor:name="DeckId" oor:type="xs:string">
           <value>PropertyDeck</value>
         </prop>
         <prop oor:name="ContextList">
           <value oor:separator=";">
-            Impress, DrawPage,        visible, .uno:PageSetup  ;
-            Impress, default,         visible, .uno:PageSetup  ;
-            Impress, HandoutPage,     visible, .uno:PageSetup  ;
-            Impress, NotesPage,       visible, .uno:PageSetup  ;
-            Impress, SlidesorterPage, visible, .uno:PageSetup  ;
+            Impress, DrawPage,        visible   ;
+            Impress, default,         visible   ;
+            Impress, HandoutPage,     visible   ;
+            Impress, NotesPage,       visible   ;
+            Impress, SlidesorterPage, visible   ;
           </value>
         </prop>
         <prop oor:name="ImplementationURL" oor:type="xs:string">
-          <value>private:resource/toolpanel/SdPanelFactory/SlideBackgroundPanel</value>
+          <value>private:resource/toolpanel/SdPanelFactory/Layouts</value>
         </prop>
         <prop oor:name="OrderIndex" oor:type="xs:int">
-          <value>100</value>
+          <value>200</value>
         </prop>
       </node>
       <node oor:name="SdUsedMasterPagesPanel" oor:op="replace">
diff --git a/sd/source/ui/sidebar/SlideBackground.cxx b/sd/source/ui/sidebar/SlideBackground.cxx
index 279d8e4..4cd012f 100644
--- a/sd/source/ui/sidebar/SlideBackground.cxx
+++ b/sd/source/ui/sidebar/SlideBackground.cxx
@@ -63,6 +63,7 @@
 #include <svx/dlgutil.hxx>
 #include <algorithm>
 #include "EventMultiplexer.hxx"
+#include "glob.hrc"
 
 using namespace ::com::sun::star;
 
@@ -94,6 +95,8 @@ SlideBackground::SlideBackground(
     mpHatchItem(),
     mpBitmapItem(),
     mxFrame(rxFrame),
+    maContext(),
+    mbTitle(false),
     mpBindings(pBindings)
 {
     get(mpPaperSizeBox,"paperformat");
@@ -155,6 +158,14 @@ void SlideBackground::Initialize()
     Update();
 }
 
+void SlideBackground::HandleContextChange(
+    const ::sfx2::sidebar::EnumContext& rContext)
+{
+    if (maContext == rContext)
+        return;
+    maContext = rContext;
+}
+
 void SlideBackground::Update()
 {
     const drawing::FillStyle eXFS = (drawing::FillStyle)mpFillStyle->GetSelectEntryPos();
@@ -290,7 +301,8 @@ void SlideBackground::addListener()
         aLink,
         tools::EventMultiplexerEvent::EID_CURRENT_PAGE |
         tools::EventMultiplexerEvent::EID_MAIN_VIEW_ADDED |
-        tools::EventMultiplexerEvent::EID_SHAPE_CHANGED );
+        tools::EventMultiplexerEvent::EID_SHAPE_CHANGED |
+        tools::EventMultiplexerEvent::EID_VIEW_ADDED);
 }
 
 void SlideBackground::removeListener()
@@ -338,6 +350,27 @@ IMPL_LINK_TYPED(SlideBackground, EventMultiplexerListener,
             GetBindings()->Invalidate( SidArray );
         }
         break;
+        case tools::EventMultiplexerEvent::EID_VIEW_ADDED:
+        {
+            if(!mbTitle)
+            {
+                sfx2::sidebar::EnumContext rDrawContext(sfx2::sidebar::EnumContext::Application_Draw,
+                                                        sfx2::sidebar::EnumContext::Context_DrawPage);
+                sfx2::sidebar::EnumContext rImpressContext(sfx2::sidebar::EnumContext::Application_Impress,
+                                                        sfx2::sidebar::EnumContext::Context_DrawPage);
+                if(maContext == rDrawContext)
+                {
+                    SetPanelTitle(SD_RESSTR(STR_PAGE_NAME));
+                    mbTitle = true;
+                }
+                else if(maContext == rImpressContext)
+                {
+                    SetPanelTitle(SD_RESSTR(STR_SLIDE_NAME));
+                    mbTitle = true;
+                }
+            }
+        }
+        break;
         default:
             break;
     }
diff --git a/sd/source/ui/sidebar/SlideBackground.hxx b/sd/source/ui/sidebar/SlideBackground.hxx
index b5b892e..65d9080 100644
--- a/sd/source/ui/sidebar/SlideBackground.hxx
+++ b/sd/source/ui/sidebar/SlideBackground.hxx
@@ -43,12 +43,13 @@
 #include <svx/xbtmpit.hxx>
 #include <svx/xflhtit.hxx>
 #include "EventMultiplexer.hxx"
-
+#include <sfx2/sidebar/IContextChangeReceiver.hxx>
 
 namespace sd { namespace sidebar {
 
 class SlideBackground :
     public PanelLayout,
+    public ::sfx2::sidebar::IContextChangeReceiver,
     public ::sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface
 {
 public:
@@ -67,6 +68,8 @@ public:
         const SfxItemState eState,
         const SfxPoolItem* pState,
         const bool bIsEnabled) override;
+    virtual void HandleContextChange(
+        const ::sfx2::sidebar::EnumContext& rContext) override;
 
 private:
 
@@ -100,6 +103,8 @@ private:
     std::unique_ptr< XFillBitmapItem > mpBitmapItem;
 
     css::uno::Reference<css::frame::XFrame> mxFrame;
+    ::sfx2::sidebar::EnumContext            maContext;
+    bool         mbTitle;
     SfxBindings* mpBindings;
 
     SfxMapUnit meUnit;
@@ -115,7 +120,6 @@ private:
 
     void Initialize();
     void Update();
-    //DO NOT REMOVE, will be used in follow-up commits
     void SetPanelTitle(const OUString& rTitle);
 
     Color GetColorSetOrDefault();


More information about the Libreoffice-commits mailing list