summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorKatarina Behrens <Katarina.Behrens@cib.de>2016-06-14 22:54:37 +0200
committerKatarina Behrens <Katarina.Behrens@cib.de>2016-06-15 22:05:55 +0000
commit9e28a809d3e9fcd69b07933d698e1e166867b5c8 (patch)
tree51189fcc38514dc8e6024bfe24e67cbf2eddc0c6 /sd
parentaa35f2981334ba2e5aed4269fe851054bbc584dc (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.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 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[] = {