diff options
-rwxr-xr-x[-rw-r--r--] | sd/source/filter/html/pubdlg.cxx | 1 | ||||
-rwxr-xr-x | sd/source/ui/dlg/PaneChildWindows.cxx | 34 | ||||
-rwxr-xr-x[-rw-r--r--] | sd/source/ui/func/fupage.cxx | 10 | ||||
-rwxr-xr-x[-rw-r--r--] | sd/source/ui/func/futext.cxx | 13 | ||||
-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/DocumentRenderer.cxx | 5 | ||||
-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 | ||||
-rwxr-xr-x[-rw-r--r--] | sd/uiconfig/sdraw/menubar/menubar.xml | 2 | ||||
-rw-r--r-- | slideshow/source/engine/shapes/viewmediashape.cxx | 24 | ||||
-rw-r--r-- | slideshow/source/engine/shapes/viewmediashape.hxx | 4 | ||||
-rw-r--r-- | slideshow/source/engine/slide/layer.cxx | 4 |
15 files changed, 95 insertions, 25 deletions
diff --git a/sd/source/filter/html/pubdlg.cxx b/sd/source/filter/html/pubdlg.cxx index 55e141f8d4cb..8079238bc1dc 100644..100755 --- a/sd/source/filter/html/pubdlg.cxx +++ b/sd/source/filter/html/pubdlg.cxx @@ -51,6 +51,7 @@ #include <svl/eitem.hxx> #include <svtools/colrdlg.hxx> #include <editeng/colritem.hxx> +#include <tools/urlobj.hxx> #include <tools/list.hxx> #include <sdiocmpt.hxx> #include <sfx2/docfile.hxx> diff --git a/sd/source/ui/dlg/PaneChildWindows.cxx b/sd/source/ui/dlg/PaneChildWindows.cxx index 6a6d515822f8..181fc8433c22 100755 --- a/sd/source/ui/dlg/PaneChildWindows.cxx +++ b/sd/source/ui/dlg/PaneChildWindows.cxx @@ -45,6 +45,9 @@ namespace sd { +using ::com::sun::star::uno::Reference; +using ::com::sun::star::drawing::framework::XResourceId; + SFX_IMPL_DOCKINGWINDOW(LeftPaneImpressChildWindow, SID_LEFT_PANE_IMPRESS) SFX_IMPL_DOCKINGWINDOW(LeftPaneDrawChildWindow, SID_LEFT_PANE_DRAW) SFX_IMPL_DOCKINGWINDOW( ToolPanelChildWindow, SID_TASKPANE) @@ -151,6 +154,25 @@ ToolPanelChildWindow::ToolPanelChildWindow( ::Window* i_pParentWindow, USHORT i_ } //---------------------------------------------------------------------------------------------------------------------- +struct DelayedToolPanelActivation +{ + DelayedToolPanelActivation( ToolPanelChildWindow& i_rToolPanelWindow, const ::rtl::OUString& i_rPanelURL ) + :m_rToolPanelWindow( i_rToolPanelWindow ) + ,m_sPanelURL( i_rPanelURL ) + { + } + + void operator() (bool) + { + m_rToolPanelWindow.ActivateToolPanel( m_sPanelURL ); + } + +private: + ToolPanelChildWindow& m_rToolPanelWindow; + const ::rtl::OUString m_sPanelURL; +}; + +//---------------------------------------------------------------------------------------------------------------------- void ToolPanelChildWindow::ActivateToolPanel( const ::rtl::OUString& i_rPanelURL ) { SfxDockingWindow* pDockingWindow = dynamic_cast< SfxDockingWindow* >( GetWindow() ); @@ -170,8 +192,16 @@ void ToolPanelChildWindow::ActivateToolPanel( const ::rtl::OUString& i_rPanelURL // extensions, too. As long as this is not the case, we need to take the direct way ... ::boost::shared_ptr< ViewShell > pViewShell = pFrameworkHelper->GetViewShell( framework::FrameworkHelper::msRightPaneURL ); toolpanel::ToolPanelViewShell* pToolPanelViewShell = dynamic_cast< toolpanel::ToolPanelViewShell* >( pViewShell.get() ); - ENSURE_OR_RETURN_VOID( pToolPanelViewShell != NULL, "ToolPanelChildWindow::ActivateToolPanel: no tool panel view shell access!" ); - pToolPanelViewShell->ActivatePanel( i_rPanelURL ); + if ( pToolPanelViewShell ) + { + pToolPanelViewShell->ActivatePanel( i_rPanelURL ); + } + else + { + Reference< XResourceId > xTaskPaneResource = pFrameworkHelper->RequestView( + framework::FrameworkHelper::msTaskPaneURL, framework::FrameworkHelper::msRightPaneURL ); + pFrameworkHelper->RunOnResourceActivation( xTaskPaneResource, DelayedToolPanelActivation( *this, i_rPanelURL ) ); + } } } 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/func/futext.cxx b/sd/source/ui/func/futext.cxx index 2fd808dcda3e..2f3111665692 100644..100755 --- a/sd/source/ui/func/futext.cxx +++ b/sd/source/ui/func/futext.cxx @@ -400,10 +400,17 @@ BOOL FuText::MouseButtonDown(const MouseEvent& rMEvt) // do the EndTextEdit first, it will delete the handles and force a // recreation. This will make aVEvt.pHdl to point to a deleted handle, // thus it is necessary to reset it and to get it again. - ::Outliner* pOutl = mpView->GetTextEditOutliner(); - if (mxTextObj.is() && (mxTextObj->GetOutlinerParaObject() || - (pOutl && pOutl->GetText(pOutl->GetParagraph( 0 )).Len() != 0))) + // #i112855# + // cl: I'm not sure why we checked here also for mxTextObj->GetOutlinerParaObjet + // this caused SdrEndTextEdit() to be called also when not in text editing and + // this does not make sense and caused troubles. (see issue 112855) + +// ::Outliner* pOutl = mpView->GetTextEditOutliner(); +// +// if (mxTextObj.is() && (mxTextObj->GetOutlinerParaObject() || +// (pOutl && pOutl->GetText(pOutl->GetParagraph( 0 )).Len() != 0))) + if( mpView->IsTextEdit() ) { mpView->SdrEndTextEdit(); 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/DocumentRenderer.cxx b/sd/source/ui/view/DocumentRenderer.cxx index 561847f7a369..ddbf5cfc4388 100755 --- a/sd/source/ui/view/DocumentRenderer.cxx +++ b/sd/source/ui/view/DocumentRenderer.cxx @@ -468,6 +468,7 @@ namespace { GetSlidesPerPageSequence(), 0, OUString( RTL_CONSTASCII_USTRINGPARAM( "List" ) ), + Sequence< sal_Bool >(), aContentOpt ) ); @@ -481,6 +482,7 @@ namespace { CreateChoice(_STR_IMPRESS_PRINT_UI_ORDER_CHOICES), 0, OUString( RTL_CONSTASCII_USTRINGPARAM( "List" ) ), + Sequence< sal_Bool >(), aSlidesPerPageOpt ) ); } @@ -556,6 +558,7 @@ namespace { CreateChoice(_STR_IMPRESS_PRINT_UI_PAGE_OPTIONS_CHOICES), 0, OUString( RTL_CONSTASCII_USTRINGPARAM( "Radio" ) ), + Sequence< sal_Bool >(), aPageOptionsOpt ) ); @@ -571,6 +574,7 @@ namespace { CreateChoice(_STR_IMPRESS_PRINT_UI_PAGE_OPTIONS_CHOICES_DRAW), 0, OUString( RTL_CONSTASCII_USTRINGPARAM( "Radio" ) ), + Sequence< sal_Bool >(), aPageOptionsOpt ) ); @@ -602,6 +606,7 @@ namespace { CreateChoice(_STR_IMPRESS_PRINT_UI_BROCHURE_INCLUDE_LIST), 0, OUString( RTL_CONSTASCII_USTRINGPARAM( "List" ) ), + Sequence< sal_Bool >(), aIncludeOpt ) ); 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/sd/uiconfig/sdraw/menubar/menubar.xml b/sd/uiconfig/sdraw/menubar/menubar.xml index c03c6ce435cd..176f25cb06ff 100644..100755 --- a/sd/uiconfig/sdraw/menubar/menubar.xml +++ b/sd/uiconfig/sdraw/menubar/menubar.xml @@ -213,7 +213,7 @@ <menu:menupopup> <menu:menuitem menu:id=".uno:HangulHanjaConversion"/> <menu:menuitem menu:id=".uno:ChineseConversion"/> - <menu:menuitem menu:id=".uno:Thesaurus"/> + <menu:menuitem menu:id=".uno:ThesaurusDialog"/> <menu:menuitem menu:id=".uno:Hyphenation"/> <menu:menuseparator/> <menu:menuitem menu:id=".uno:MoreDictionaries"/> diff --git a/slideshow/source/engine/shapes/viewmediashape.cxx b/slideshow/source/engine/shapes/viewmediashape.cxx index 1c0b6f9b71a1..ee076d7e394d 100644 --- a/slideshow/source/engine/shapes/viewmediashape.cxx +++ b/slideshow/source/engine/shapes/viewmediashape.cxx @@ -39,7 +39,7 @@ #include <cppuhelper/exc_hlp.hxx> #include <vcl/window.hxx> -#include <vcl/javachild.hxx> +#include <vcl/syschild.hxx> #include <vcl/salbtype.hxx> #include <basegfx/tools/canvastools.hxx> @@ -153,7 +153,7 @@ namespace slideshow mxPlayerWindow.clear(); } - mpMediaWindow = ::std::auto_ptr< JavaChildWindow >(); + mpMediaWindow = ::std::auto_ptr< SystemChildWindow >(); // shutdown player if( mxPlayer.is() ) @@ -431,29 +431,29 @@ namespace slideshow if( !rRangePix.isEmpty() ) { - uno::Sequence< uno::Any > aArgs( 2 ); + uno::Sequence< uno::Any > aArgs( 3 ); awt::Rectangle aAWTRect( rRangePix.getMinX(), rRangePix.getMinY(), rRangePix.getMaxX() - rRangePix.getMinX(), rRangePix.getMaxY() - rRangePix.getMinY() ); - mpMediaWindow = ::std::auto_ptr< JavaChildWindow >( new JavaChildWindow( pWindow, WB_CLIPCHILDREN ) ); + mpMediaWindow = ::std::auto_ptr< SystemChildWindow >( new + SystemChildWindow( pWindow, WB_CLIPCHILDREN ) ); mpMediaWindow->SetBackground( Color( COL_BLACK ) ); - mpMediaWindow->SetPosSizePixel( Point( aAWTRect.X, - aAWTRect.Y ), - Size( aAWTRect.Width, - aAWTRect.Height )); + mpMediaWindow->SetPosSizePixel( Point( aAWTRect.X, aAWTRect.Y ), + Size( aAWTRect.Width, aAWTRect.Height ) ); mpMediaWindow->Show(); if( mxPlayer.is() ) { aArgs[ 0 ] = uno::makeAny( - sal::static_int_cast<sal_IntPtr>( - mpMediaWindow->getParentWindowHandleForJava()) ); + sal::static_int_cast< sal_IntPtr >( mpMediaWindow->GetParentWindowHandle() ) ); aAWTRect.X = aAWTRect.Y = 0; aArgs[ 1 ] = uno::makeAny( aAWTRect ); + aArgs[ 2 ] = uno::makeAny( reinterpret_cast< sal_IntPtr >( mpMediaWindow.get() ) ); + mxPlayerWindow.set( mxPlayer->createPlayerWindow( aArgs ) ); if( mxPlayerWindow.is() ) @@ -515,9 +515,7 @@ namespace slideshow if( mxPlayer.is() ) { - aArgs[ 0 ] = uno::makeAny( - sal::static_int_cast<sal_Int32>( - aWNDVal) ); + aArgs[ 0 ] = uno::makeAny( sal::static_int_cast< sal_Int32 >( aWNDVal) ); aArgs[ 1 ] = uno::makeAny( aAWTRect ); mxPlayerWindow.set( mxPlayer->createPlayerWindow( aArgs ) ); diff --git a/slideshow/source/engine/shapes/viewmediashape.hxx b/slideshow/source/engine/shapes/viewmediashape.hxx index 5e2568bbd98e..8e024ae75bbe 100644 --- a/slideshow/source/engine/shapes/viewmediashape.hxx +++ b/slideshow/source/engine/shapes/viewmediashape.hxx @@ -36,7 +36,7 @@ #include "viewlayer.hxx" -class JavaChildWindow; +class SystemChildWindow; namespace com { namespace sun { namespace star { namespace drawing { class XShape; @@ -155,7 +155,7 @@ namespace slideshow const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& rDXDeviceParams ); ViewLayerSharedPtr mpViewLayer; - ::std::auto_ptr< JavaChildWindow > mpMediaWindow; + ::std::auto_ptr< SystemChildWindow > mpMediaWindow; mutable ::com::sun::star::awt::Point maWindowOffset; mutable ::basegfx::B2DRectangle maBounds; 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 |