diff options
author | Tamás Zolnai <tamas.zolnai@collabora.com> | 2017-11-10 12:20:36 +0100 |
---|---|---|
committer | Tamás Zolnai <tamas.zolnai@collabora.com> | 2017-11-10 19:34:32 +0100 |
commit | 537d4e672e2e5d175c7e0bc9cf4a7efb2bec72be (patch) | |
tree | 58a1290f6f3881bc18bdd7e2488c76059ceb2882 | |
parent | a11e0d428c7a17fd1d7689add10de413cc0ea81c (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.hxx | 4 | ||||
-rw-r--r-- | sd/source/ui/sidebar/SlideBackground.cxx | 5 | ||||
-rw-r--r-- | sd/uiconfig/simpress/ui/sidebarslidebackground.ui | 2 |
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> |