[Libreoffice-commits] core.git: include/sfx2 sd/source sd/uiconfig

Tamás Zolnai tamas.zolnai at collabora.com
Fri Nov 10 18:35:06 UTC 2017


 include/sfx2/sidebar/Panel.hxx                    |    4 +++-
 sd/source/ui/sidebar/SlideBackground.cxx          |    5 +++++
 sd/uiconfig/simpress/ui/sidebarslidebackground.ui |    2 +-
 3 files changed, 9 insertions(+), 2 deletions(-)

New commits:
commit 537d4e672e2e5d175c7e0bc9cf4a7efb2bec72be
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
Date:   Fri Nov 10 12:20:36 2017 +0100

    tdf#113725: Sidebar: Controls are crammed in Slide content panel
    
    Need to trigger a layouting to get the right panel size after we
    show / hode context related items.
    
    Change-Id: I791921ecb491bb65c53a4fe9562207d47f66a88a
    Reviewed-on: https://gerrit.libreoffice.org/44565
    Reviewed-by: Tamás Zolnai <tamas.zolnai at collabora.com>
    Tested-by: Tamás Zolnai <tamas.zolnai at collabora.com>

diff --git a/include/sfx2/sidebar/Panel.hxx b/include/sfx2/sidebar/Panel.hxx
index 4ed7b74951ba..4d65467cd051 100644
--- a/include/sfx2/sidebar/Panel.hxx
+++ b/include/sfx2/sidebar/Panel.hxx
@@ -20,6 +20,7 @@
 #define INCLUDED_SFX2_SOURCE_SIDEBAR_PANEL_HXX
 
 #include <sfx2/sidebar/Context.hxx>
+#include <sfx2/dllapi.h>
 
 #include <vcl/window.hxx>
 
@@ -35,7 +36,7 @@ class PanelDescriptor;
 class TitleBar;
 class PanelTitleBar;
 
-class Panel : public vcl::Window
+class SFX2_DLLPUBLIC Panel : public vcl::Window
 {
 public:
     Panel(const PanelDescriptor& rPanelDescriptor, vcl::Window* pParentWindow,
@@ -55,6 +56,7 @@ public:
     bool IsExpanded() const { return mbIsExpanded;}
     bool HasIdPredicate (const OUString& rsId) const;
     const OUString& GetId() const { return msPanelId;}
+    void TriggerDeckLayouting() { maDeckLayoutTrigger(); }
 
     virtual void Resize() override;
     virtual void DataChanged (const DataChangedEvent& rEvent) override;
diff --git a/sd/source/ui/sidebar/SlideBackground.cxx b/sd/source/ui/sidebar/SlideBackground.cxx
index 3e26737bce3d..694e90049b58 100644
--- a/sd/source/ui/sidebar/SlideBackground.cxx
+++ b/sd/source/ui/sidebar/SlideBackground.cxx
@@ -60,6 +60,7 @@
 #include <sfx2/objface.hxx>
 #include <svx/dlgutil.hxx>
 #include <sfx2/tabdlg.hxx>
+#include <sfx2/sidebar/Panel.hxx>
 #include <algorithm>
 #include <EventMultiplexer.hxx>
 #include <vcl/salbtype.hxx>
@@ -265,6 +266,10 @@ void SlideBackground::HandleContextChange(
             mpBackgroundLabel->Show();
             mpInsertImage->Show();
         }
+        // Need to do a relayouting, otherwise the panel size is not updated after show / hide controls
+        sfx2::sidebar::Panel* pPanel = dynamic_cast<sfx2::sidebar::Panel*>(GetParent());
+        if(pPanel)
+            pPanel->TriggerDeckLayouting();
     }
     // else Draw or something else, do nothing
 }
diff --git a/sd/uiconfig/simpress/ui/sidebarslidebackground.ui b/sd/uiconfig/simpress/ui/sidebarslidebackground.ui
index 370527a13ed5..70bccb25c7c8 100644
--- a/sd/uiconfig/simpress/ui/sidebarslidebackground.ui
+++ b/sd/uiconfig/simpress/ui/sidebarslidebackground.ui
@@ -210,7 +210,7 @@
             <child>
               <object class="GtkButton" id="masterslidebutton">
                 <property name="label" translatable="yes" context="sidebarslidebackground|masterslidebutton">Master Slide</property>
-                <property name="visible">False</property>
+                <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
                 <property name="action_name">.uno:SlideMasterPage</property>


More information about the Libreoffice-commits mailing list