diff options
author | Katarina Behrens <Katarina.Behrens@cib.de> | 2016-06-14 22:54:37 +0200 |
---|---|---|
committer | Katarina Behrens <Katarina.Behrens@cib.de> | 2016-06-15 22:05:55 +0000 |
commit | 9e28a809d3e9fcd69b07933d698e1e166867b5c8 (patch) | |
tree | 51189fcc38514dc8e6024bfe24e67cbf2eddc0c6 /sd | |
parent | aa35f2981334ba2e5aed4269fe851054bbc584dc (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>
Diffstat (limited to 'sd')
-rw-r--r-- | sd/source/ui/sidebar/SlideBackground.cxx | 37 |
1 files changed, 30 insertions, 7 deletions
diff --git a/sd/source/ui/sidebar/SlideBackground.cxx b/sd/source/ui/sidebar/SlideBackground.cxx index 24068acc627b..3ca1d7d40c10 100644 --- a/sd/source/ui/sidebar/SlideBackground.cxx +++ b/sd/source/ui/sidebar/SlideBackground.cxx @@ -24,6 +24,7 @@ #include "TransitionPreset.hxx" #include "sdresid.hxx" #include "ViewShellBase.hxx" +#include "FrameView.hxx" #include "DrawDocShell.hxx" #include "SlideSorterViewShell.hxx" #include "drawdoc.hxx" @@ -119,7 +120,6 @@ void SlideBackground::Initialize() mpPaperSizeBox->SetSelectHdl(LINK(this,SlideBackground,PaperSizeModifyHdl)); mpPaperOrientation->SetSelectHdl(LINK(this,SlideBackground,PaperSizeModifyHdl)); - populateMasterSlideDropdown(); meUnit = maPaperSizeController.GetCoreMetric(); @@ -130,13 +130,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); @@ -278,6 +286,7 @@ void SlideBackground::addListener() mrBase.GetEventMultiplexer()->AddEventListener ( aLink, tools::EventMultiplexerEvent::EID_CURRENT_PAGE | + tools::EventMultiplexerEvent::EID_MAIN_VIEW_ADDED | tools::EventMultiplexerEvent::EID_SHAPE_CHANGED ); } @@ -297,6 +306,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[] = { |