summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKatarina Behrens <Katarina.Behrens@cib.de>2016-06-14 22:54:37 +0200
committerCaolán McNamara <caolanm@redhat.com>2016-06-16 09:53:00 +0100
commit343f12ca3fdb3503995619a3caa1b15f77c04baa (patch)
tree2184c00a489e0e793dcc677077ad3ff471a08334
parent0330e8cd0ce65c62e61d4b5af5dc1aab3b0db697 (diff)
tdf#100209: Master slide of master slide makes no sense
so just disable the controls when in master view Change-Id: I9551cc5c0d123e58555d248b78859c1f77de6690 Reviewed-on: https://gerrit.libreoffice.org/26276 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit 9e28a809d3e9fcd69b07933d698e1e166867b5c8)
-rw-r--r--sd/source/ui/sidebar/SlideBackground.cxx37
1 files changed, 30 insertions, 7 deletions
diff --git a/sd/source/ui/sidebar/SlideBackground.cxx b/sd/source/ui/sidebar/SlideBackground.cxx
index 9c3274e44857..ff5f84ca4936 100644
--- a/sd/source/ui/sidebar/SlideBackground.cxx
+++ b/sd/source/ui/sidebar/SlideBackground.cxx
@@ -22,6 +22,7 @@
#include "TransitionPreset.hxx"
#include "sdresid.hxx"
#include "ViewShellBase.hxx"
+#include "FrameView.hxx"
#include "DrawDocShell.hxx"
#include "SlideSorterViewShell.hxx"
#include "drawdoc.hxx"
@@ -163,7 +164,6 @@ void SlideBackground::Initialize()
mpPaperSizeBox->SetSelectHdl(LINK(this,SlideBackground,PaperSizeModifyHdl));
mpPaperOrientation->SetSelectHdl(LINK(this,SlideBackground,PaperSizeModifyHdl));
- populateMasterSlideDropdown();
meUnit = maPaperSizeController.GetCoreMetric();
@@ -174,13 +174,21 @@ void SlideBackground::Initialize()
mpFillGrad->SetSelectHdl(LINK(this, SlideBackground, FillColorHdl));
mpFillAttr->SetSelectHdl(LINK(this, SlideBackground, FillBackgroundHdl));
- if (ViewShell* pMainViewShell = mrBase.GetMainViewShell().get())
+ ViewShell* pMainViewShell = mrBase.GetMainViewShell().get();
+ if (pMainViewShell)
{
- DrawViewShell* pDrawViewShell = static_cast<DrawViewShell*>(pMainViewShell);
- SdPage* mpPage = pDrawViewShell->getCurrentPage();
- OUString aLayoutName( mpPage->GetLayoutName() );
- aLayoutName = aLayoutName.copy(0,aLayoutName.indexOf(SD_LT_SEPARATOR));
- mpMasterSlide->SelectEntry(aLayoutName);
+ FrameView *pFrameView = pMainViewShell->GetFrameView();
+
+ if ( pFrameView->GetViewShEditMode() == EM_PAGE )
+ {
+ DrawViewShell* pDrawViewShell = static_cast<DrawViewShell*>(pMainViewShell);
+ SdPage* mpPage = pDrawViewShell->getCurrentPage();
+ populateMasterSlideDropdown();
+
+ OUString aLayoutName( mpPage->GetLayoutName() );
+ aLayoutName = aLayoutName.copy(0,aLayoutName.indexOf(SD_LT_SEPARATOR));
+ mpMasterSlide->SelectEntry(aLayoutName);
+ }
}
mpFillStyle->SelectEntryPos(0);
@@ -296,6 +304,7 @@ void SlideBackground::addListener()
mrBase.GetEventMultiplexer()->AddEventListener (
aLink,
tools::EventMultiplexerEvent::EID_CURRENT_PAGE |
+ tools::EventMultiplexerEvent::EID_MAIN_VIEW_ADDED |
tools::EventMultiplexerEvent::EID_SHAPE_CHANGED );
}
@@ -315,6 +324,20 @@ IMPL_LINK_TYPED(SlideBackground, EventMultiplexerListener,
case tools::EventMultiplexerEvent::EID_SHAPE_CHANGED:
populateMasterSlideDropdown();
break;
+ case tools::EventMultiplexerEvent::EID_MAIN_VIEW_ADDED:
+ {
+ ViewShell* pMainViewShell = mrBase.GetMainViewShell().get();
+
+ if (pMainViewShell)
+ {
+ DrawViewShell* pDrawViewShell = static_cast<DrawViewShell*>(pMainViewShell);
+ EditMode eMode = pDrawViewShell->GetEditMode();
+
+ if ( eMode == EM_MASTERPAGE)
+ mpMasterSlide->Disable();
+ }
+ }
+ break;
case tools::EventMultiplexerEvent::EID_CURRENT_PAGE:
{
static sal_uInt16 SidArray[] = {