diff options
-rw-r--r-- | sd/sdi/drviewsh.sdi | 14 | ||||
-rw-r--r-- | sd/source/core/sdpage.cxx | 5 | ||||
-rw-r--r-- | sd/source/filter/ppt/pptin.cxx | 21 | ||||
-rw-r--r-- | sd/source/ui/annotations/annotationmanager.cxx | 34 | ||||
-rw-r--r-- | sd/source/ui/annotations/annotationmanagerimpl.hxx | 3 | ||||
-rw-r--r-- | sd/source/ui/annotations/annotationtag.cxx | 1 | ||||
-rw-r--r-- | sd/uiconfig/sdraw/menubar/menubar.xml | 2 | ||||
-rw-r--r-- | sd/uiconfig/simpress/menubar/menubar.xml | 2 |
8 files changed, 54 insertions, 28 deletions
diff --git a/sd/sdi/drviewsh.sdi b/sd/sdi/drviewsh.sdi index 603a6036d711..b0dc446a6c72 100644 --- a/sd/sdi/drviewsh.sdi +++ b/sd/sdi/drviewsh.sdi @@ -180,17 +180,12 @@ interface ImpressEditView : DrawView ExecMethod = FuTemporary ; StateMethod = GetMenuState ; ] -} - -shell DrawViewShell -{ - import ImpressEditView[Automation]; - SID_INSERT_POSTIT + SID_SHOW_POSTIT [ ExecMethod = ExecuteAnnotation; StateMethod = GetAnnotationState; ] - SID_SHOW_POSTIT + SID_INSERT_POSTIT [ ExecMethod = ExecuteAnnotation; StateMethod = GetAnnotationState; @@ -227,6 +222,11 @@ shell DrawViewShell ] } +shell DrawViewShell +{ + import ImpressEditView[Automation]; +} + shell PresentationViewShell { diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index 99fbc31a2bb0..2d4362184a89 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -2882,6 +2882,11 @@ bool SdPage::checkVisibility( } } } + } // check for placeholders on master + else if( pCheckPage->IsMasterPage() && ( pVisualizedPage != pCheckPage ) ) + { + // presentation objects on master slide are always invisible if slide is shown. + return false; } } } diff --git a/sd/source/filter/ppt/pptin.cxx b/sd/source/filter/ppt/pptin.cxx index a1bbc3288962..ae347eeaba12 100644 --- a/sd/source/filter/ppt/pptin.cxx +++ b/sd/source/filter/ppt/pptin.cxx @@ -2346,16 +2346,21 @@ SdrObject* ImplSdPPTImport::ApplyTextObj( PPTTextObj* pTextObj, SdrTextObj* pObj if ( aPresentationText.Len() ) pPage->SetObjText( (SdrTextObj*)pText, pOutl, ePresKind, aPresentationText ); - SfxStyleSheet* pSheet2( pPage->GetStyleSheetForPresObj( ePresKind ) ); - if ( pSheet2 ) + if ( pPage->GetPageKind() != PK_NOTES ) { - SfxItemSet& rItemSet = pSheet2->GetItemSet(); - rItemSet.Put( (SdrTextLeftDistItem&)pText->GetMergedItem( SDRATTR_TEXT_LEFTDIST ) ); - rItemSet.Put( (SdrTextRightDistItem&)pText->GetMergedItem( SDRATTR_TEXT_RIGHTDIST ) ); - rItemSet.Put( (SdrTextUpperDistItem&)pText->GetMergedItem( SDRATTR_TEXT_UPPERDIST ) ); - rItemSet.Put( (SdrTextLowerDistItem&)pText->GetMergedItem( SDRATTR_TEXT_LOWERDIST ) ); + SfxStyleSheet* pSheet2( pPage->GetStyleSheetForPresObj( ePresKind ) ); + if ( pSheet2 ) + { + SfxItemSet& rItemSet = pSheet2->GetItemSet(); + rItemSet.Put( (SdrTextLeftDistItem&)pText->GetMergedItem( SDRATTR_TEXT_LEFTDIST ) ); + rItemSet.Put( (SdrTextRightDistItem&)pText->GetMergedItem( SDRATTR_TEXT_RIGHTDIST ) ); + rItemSet.Put( (SdrTextUpperDistItem&)pText->GetMergedItem( SDRATTR_TEXT_UPPERDIST ) ); + rItemSet.Put( (SdrTextLowerDistItem&)pText->GetMergedItem( SDRATTR_TEXT_LOWERDIST ) ); + rItemSet.Put( (SdrTextVertAdjustItem&)pText->GetMergedItem( SDRATTR_TEXT_VERTADJUST ) ); + rItemSet.Put( (SdrTextHorzAdjustItem&)pText->GetMergedItem( SDRATTR_TEXT_HORZADJUST ) ); + } + pText->NbcSetStyleSheet( pSheet2, FALSE ); } - pText->NbcSetStyleSheet( pSheet2, TRUE ); SfxItemSet aTempAttr( mpDoc->GetPool() ); SdrTextMinFrameHeightItem aMinHeight( pText->GetLogicRect().GetSize().Height() ); diff --git a/sd/source/ui/annotations/annotationmanager.cxx b/sd/source/ui/annotations/annotationmanager.cxx index 49ad473db0f0..e3076ec22bbe 100644 --- a/sd/source/ui/annotations/annotationmanager.cxx +++ b/sd/source/ui/annotations/annotationmanager.cxx @@ -274,6 +274,21 @@ void SAL_CALL AnnotationManagerImpl::disposing( const ::com::sun::star::lang::Ev { } +void AnnotationManagerImpl::ShowAnnotations( bool bShow ) +{ + // enforce show annotations if a new annotation is inserted + if( mbShowAnnotations != bShow ) + { + mbShowAnnotations = bShow; + + SdOptions* pOptions = SD_MOD()->GetSdOptions(mpDoc->GetDocumentType()); + if( pOptions ) + pOptions->SetShowComments( mbShowAnnotations ? sal_True : sal_False ); + + UpdateTags(); + } +} + // -------------------------------------------------------------------- void AnnotationManagerImpl::ExecuteAnnotation(SfxRequest& rReq ) @@ -296,16 +311,8 @@ void AnnotationManagerImpl::ExecuteAnnotation(SfxRequest& rReq ) ExecuteReplyToAnnotation( rReq ); break; case SID_SHOW_POSTIT: - { - mbShowAnnotations = !mbShowAnnotations; - - SdOptions* pOptions = SD_MOD()->GetSdOptions(mpDoc->GetDocumentType()); - if( pOptions ) - pOptions->SetShowComments( mbShowAnnotations ? sal_True : sal_False ); - - UpdateTags(); - break; - } + ShowAnnotations( !mbShowAnnotations ); + break; } } @@ -313,6 +320,7 @@ void AnnotationManagerImpl::ExecuteAnnotation(SfxRequest& rReq ) void AnnotationManagerImpl::ExecuteInsertAnnotation(SfxRequest& /*rReq*/) { + ShowAnnotations(true); InsertAnnotation(); } @@ -320,6 +328,8 @@ void AnnotationManagerImpl::ExecuteInsertAnnotation(SfxRequest& /*rReq*/) void AnnotationManagerImpl::ExecuteDeleteAnnotation(SfxRequest& rReq) { + ShowAnnotations( true ); + const SfxItemSet* pArgs = rReq.GetArgs(); switch( rReq.GetSlot() ) @@ -640,6 +650,8 @@ void AnnotationManagerImpl::GetAnnotationState(SfxItemSet& rSet) void AnnotationManagerImpl::SelectNextAnnotation(bool bForeward) { + ShowAnnotations( true ); + Reference< XAnnotation > xCurrent; GetSelectedAnnotation( xCurrent ); SdPage* pPage = GetCurrentPage(); @@ -1213,7 +1225,7 @@ SdPage* AnnotationManagerImpl::GetNextPage( SdPage* pPage, bool bForeward ) nPageNum--; } - return static_cast< SdPage* >( mpDoc->GetMasterPage(nPageNum) ); + return mpDoc->GetMasterSdPage(nPageNum,PK_STANDARD); } } diff --git a/sd/source/ui/annotations/annotationmanagerimpl.hxx b/sd/source/ui/annotations/annotationmanagerimpl.hxx index a64421c26262..9f2c48e875d3 100644 --- a/sd/source/ui/annotations/annotationmanagerimpl.hxx +++ b/sd/source/ui/annotations/annotationmanagerimpl.hxx @@ -124,6 +124,9 @@ public: SdPage* GetCurrentPage(); SdDrawDocument* GetDoc() { return mpDoc; } + + void ShowAnnotations(bool bShow); + private: ViewShellBase& mrBase; SdDrawDocument* mpDoc; diff --git a/sd/source/ui/annotations/annotationtag.cxx b/sd/source/ui/annotations/annotationtag.cxx index af219c3aadc3..d2b9b7b56b7d 100644 --- a/sd/source/ui/annotations/annotationtag.cxx +++ b/sd/source/ui/annotations/annotationtag.cxx @@ -717,6 +717,7 @@ void AnnotationTag::ClosePopup() if( mpAnnotationWindow.get() ) { mpAnnotationWindow->RemoveEventListener( LINK(this, AnnotationTag, WindowEventHandler)); + mpAnnotationWindow->Deactivate(); mpAnnotationWindow.reset(); } } diff --git a/sd/uiconfig/sdraw/menubar/menubar.xml b/sd/uiconfig/sdraw/menubar/menubar.xml index fcc7246bb427..9e5d927b263e 100644 --- a/sd/uiconfig/sdraw/menubar/menubar.xml +++ b/sd/uiconfig/sdraw/menubar/menubar.xml @@ -105,7 +105,7 @@ <menu:menuitem menu:id=".uno:HelplinesFront"/> </menu:menupopup> </menu:menu> - <menu:menuitem menu:id=".uno:ShowAnnotation"/> + <menu:menuitem menu:id=".uno:ShowAnnotations"/> <menu:menuseparator/> <menu:menuitem menu:id=".uno:Navigator"/> <menu:menuseparator/> diff --git a/sd/uiconfig/simpress/menubar/menubar.xml b/sd/uiconfig/simpress/menubar/menubar.xml index d762a075abd4..c1dacd33e0c0 100644 --- a/sd/uiconfig/simpress/menubar/menubar.xml +++ b/sd/uiconfig/simpress/menubar/menubar.xml @@ -119,7 +119,7 @@ <menu:menuitem menu:id=".uno:HelplinesFront"/> </menu:menupopup> </menu:menu> - <menu:menuitem menu:id=".uno:ShowAnnotation"/> + <menu:menuitem menu:id=".uno:ShowAnnotations"/> <menu:menuseparator/> <menu:menuitem menu:id=".uno:Navigator"/> <menu:menuseparator/> |