diff options
-rwxr-xr-x[-rw-r--r--] | sd/source/ui/func/fupage.cxx | 10 | ||||
-rwxr-xr-x[-rw-r--r--] | sd/source/ui/inc/fupage.hxx | 3 | ||||
-rwxr-xr-x | sd/source/ui/slidesorter/controller/SlsSlotManager.cxx | 11 | ||||
-rwxr-xr-x | sd/source/ui/view/Outliner.cxx | 4 | ||||
-rwxr-xr-x | sd/source/ui/view/drviews1.cxx | 1 | ||||
-rwxr-xr-x | sd/source/ui/view/drviews7.cxx | 2 | ||||
-rwxr-xr-x | sd/source/ui/view/viewoverlaymanager.cxx | 2 | ||||
-rw-r--r-- | slideshow/source/engine/slide/layer.cxx | 4 |
8 files changed, 33 insertions, 4 deletions
diff --git a/sd/source/ui/func/fupage.cxx b/sd/source/ui/func/fupage.cxx index 9fb0007cc72c..3dea67412fac 100644..100755 --- a/sd/source/ui/func/fupage.cxx +++ b/sd/source/ui/func/fupage.cxx @@ -449,6 +449,16 @@ const SfxItemSet* FuPage::ExecuteDialog( Window* pParent ) } + // if background filling is set to master pages then clear from page set + if( mbMasterPage || bSetToAllPages ) + { + for( USHORT nWhich = XATTR_FILL_FIRST; nWhich <= XATTR_FILL_LAST; nWhich++ ) + { + pTempSet->ClearItem( nWhich ); + } + pTempSet->Put(XFillStyleItem(XFILL_NONE)); + } + const SfxPoolItem *pItem; if( SFX_ITEM_SET == pTempSet->GetItemState( EE_PARA_WRITINGDIR, sal_False, &pItem ) ) { diff --git a/sd/source/ui/inc/fupage.hxx b/sd/source/ui/inc/fupage.hxx index 6752e0421806..a0cd7b4d2e0a 100644..100755 --- a/sd/source/ui/inc/fupage.hxx +++ b/sd/source/ui/inc/fupage.hxx @@ -50,7 +50,6 @@ class FuPage virtual void Deactivate(); // Function deaktivieren const SfxItemSet* ExecuteDialog( Window* pParent ); - void ApplyItemSet( const SfxItemSet* pArgs ); protected: virtual ~FuPage (void); @@ -63,6 +62,8 @@ private: SdDrawDocument* pDoc, SfxRequest& rReq ); + void ApplyItemSet( const SfxItemSet* pArgs ); + SfxRequest& mrReq; const SfxItemSet* mpArgs; SdBackgroundObjUndoAction* mpBackgroundObjUndoAction; diff --git a/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx b/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx index 6c1123abc031..e571a765bdad 100755 --- a/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx +++ b/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx @@ -614,6 +614,17 @@ void SlotManager::GetMenuState ( SfxItemSet& rSet) break; } } + + PageKind ePageKind = mrSlideSorter.GetModel().GetPageType(); + if( (eEditMode == EM_MASTERPAGE) && (ePageKind != PK_HANDOUT ) ) + { + rSet.DisableItem(SID_ASSIGN_LAYOUT); + } + + if( (eEditMode == EM_MASTERPAGE) || (ePageKind==PK_NOTES) ) + { + rSet.DisableItem(SID_INSERTPAGE); + } } diff --git a/sd/source/ui/view/Outliner.cxx b/sd/source/ui/view/Outliner.cxx index 356c03b82387..7c94e7b27b07 100755 --- a/sd/source/ui/view/Outliner.cxx +++ b/sd/source/ui/view/Outliner.cxx @@ -942,7 +942,9 @@ void Outliner::RestoreStartPosition (void) else if (mpViewShell->ISA(OutlineViewShell)) { // Set cursor to its old position. - GetView(0)->SetSelection (maStartSelection); + OutlinerView* pView = GetView(0); + if (pView != NULL) + pView->SetSelection (maStartSelection); } } } diff --git a/sd/source/ui/view/drviews1.cxx b/sd/source/ui/view/drviews1.cxx index 98d0b7551705..5fbd400d7520 100755 --- a/sd/source/ui/view/drviews1.cxx +++ b/sd/source/ui/view/drviews1.cxx @@ -1244,6 +1244,7 @@ BOOL DrawViewShell::SwitchPage(USHORT nSelectedPage) rBindings.Invalidate(SID_DELETE_MASTER_PAGE, TRUE, FALSE); rBindings.Invalidate(SID_DELETE_PAGE, TRUE, FALSE); rBindings.Invalidate(SID_ASSIGN_LAYOUT,TRUE,FALSE); + rBindings.Invalidate(SID_INSERTPAGE,TRUE,FALSE); UpdatePreview( mpActualPage ); mpDrawView->AdjustMarkHdl(); diff --git a/sd/source/ui/view/drviews7.cxx b/sd/source/ui/view/drviews7.cxx index e853d3944ce0..5166c392292c 100755 --- a/sd/source/ui/view/drviews7.cxx +++ b/sd/source/ui/view/drviews7.cxx @@ -301,7 +301,7 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet ) { SdPage* pPage = dynamic_cast< SdPage* >( pPageView->GetPage() ); - if( pPage ) + if( pPage && !pPage->IsMasterPage() ) { rSet.Put( SfxUInt32Item( SID_ASSIGN_LAYOUT, static_cast< sal_uInt32 >(pPage->GetAutoLayout()) ) ); bDisable = false; diff --git a/sd/source/ui/view/viewoverlaymanager.cxx b/sd/source/ui/view/viewoverlaymanager.cxx index 447f50ec2222..c1e1d9634844 100755 --- a/sd/source/ui/view/viewoverlaymanager.cxx +++ b/sd/source/ui/view/viewoverlaymanager.cxx @@ -559,7 +559,7 @@ bool ViewOverlayManager::CreateTags() SdPage* pPage = mrBase.GetMainViewShell()->getCurrentPage(); - if( pPage ) + if( pPage && !pPage->IsMasterPage() && (pPage->GetPageKind() == PK_STANDARD) ) { const std::list< SdrObject* >& rShapes = pPage->GetPresentationShapeList().getList(); diff --git a/slideshow/source/engine/slide/layer.cxx b/slideshow/source/engine/slide/layer.cxx index be67b220962e..65f52f3b823f 100644 --- a/slideshow/source/engine/slide/layer.cxx +++ b/slideshow/source/engine/slide/layer.cxx @@ -36,6 +36,8 @@ #include <basegfx/range/b2dpolyrange.hxx> #include <basegfx/matrix/b2dhommatrix.hxx> #include <basegfx/polygon/b2dpolypolygon.hxx> +#include <basegfx/polygon/b2dpolypolygontools.hxx> +#include <basegfx/polygon/b2dpolypolygoncutter.hxx> #include "layer.hxx" @@ -288,6 +290,8 @@ namespace slideshow // clipping, and render each shape that intersects with // the calculated update area ::basegfx::B2DPolyPolygon aClip( maUpdateAreas.solveCrossovers() ); + aClip = ::basegfx::tools::stripNeutralPolygons(aClip); + aClip = ::basegfx::tools::stripDispensablePolygons(aClip, false); // actually, if there happen to be shapes with zero // update area in the maUpdateAreas vector, the |