summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamás Zolnai <tamas.zolnai@collabora.com>2017-11-10 12:20:36 +0100
committerTamás Zolnai <tamas.zolnai@collabora.com>2017-11-10 19:34:32 +0100
commit537d4e672e2e5d175c7e0bc9cf4a7efb2bec72be (patch)
tree58a1290f6f3881bc18bdd7e2488c76059ceb2882
parenta11e0d428c7a17fd1d7689add10de413cc0ea81c (diff)
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@collabora.com> Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
-rw-r--r--include/sfx2/sidebar/Panel.hxx4
-rw-r--r--sd/source/ui/sidebar/SlideBackground.cxx5
-rw-r--r--sd/uiconfig/simpress/ui/sidebarslidebackground.ui2
3 files changed, 9 insertions, 2 deletions
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>