summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sd/source/ui/app/sddll2.cxx2
-rw-r--r--sd/source/ui/dlg/PaneChildWindows.cxx8
-rw-r--r--sd/source/ui/inc/PaneChildWindows.hxx2
-rw-r--r--sfx2/source/view/viewfrm.cxx15
4 files changed, 21 insertions, 6 deletions
diff --git a/sd/source/ui/app/sddll2.cxx b/sd/source/ui/app/sddll2.cxx
index 78c78ea26b17..a945bfbd99a1 100644
--- a/sd/source/ui/app/sddll2.cxx
+++ b/sd/source/ui/app/sddll2.cxx
@@ -126,7 +126,7 @@ void SdDLL::RegisterControllers()
::avmedia::MediaPlayer::RegisterChildWindow(0, pMod);
::sd::LeftPaneImpressChildWindow::RegisterChildWindow(0, pMod);
::sd::LeftPaneDrawChildWindow::RegisterChildWindow(0, pMod);
- ::sd::ToolPanelChildWindow::RegisterChildWindow(0, pMod);
+ ::sd::ToolPanelChildWindow::RegisterChildWindowIfEnabled(0, pMod);
::sfx2::sidebar::SidebarChildWindow::RegisterChildWindowIfEnabled(0, pMod);
SvxFillToolBoxControl::RegisterControl(0, pMod);
diff --git a/sd/source/ui/dlg/PaneChildWindows.cxx b/sd/source/ui/dlg/PaneChildWindows.cxx
index df7997401228..30e5b2fac961 100644
--- a/sd/source/ui/dlg/PaneChildWindows.cxx
+++ b/sd/source/ui/dlg/PaneChildWindows.cxx
@@ -215,6 +215,14 @@ void ToolPanelChildWindow::ActivateToolPanel( const OUString& i_rPanelURL )
}
}
+void ToolPanelChildWindow::RegisterChildWindowIfEnabled (sal_Bool bVisible,
+ SfxModule *pMod,
+ sal_uInt16 nFlags)
+{
+ if ( ! SfxViewFrame::IsSidebarEnabled() )
+ RegisterChildWindow( bVisible, pMod, nFlags );
+}
+
} // end of namespace ::sd
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sd/source/ui/inc/PaneChildWindows.hxx b/sd/source/ui/inc/PaneChildWindows.hxx
index b2f63d904733..dc93ae0f536d 100644
--- a/sd/source/ui/inc/PaneChildWindows.hxx
+++ b/sd/source/ui/inc/PaneChildWindows.hxx
@@ -70,6 +70,8 @@ public:
SFX_DECL_CHILDWINDOW_WITHID( ToolPanelChildWindow );
+ static void RegisterChildWindowIfEnabled (sal_Bool bVisible=sal_False, SfxModule *pMod=NULL, sal_uInt16 nFlags=0);
+
// ::sfx2::ITaskPaneToolPanelAccess
virtual void ActivateToolPanel( const OUString& i_rPanelURL );
};
diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
index 64094df62e6d..6aee3b0917d1 100644
--- a/sfx2/source/view/viewfrm.cxx
+++ b/sfx2/source/view/viewfrm.cxx
@@ -3418,21 +3418,26 @@ bool SfxViewFrame::IsSidebarEnabled()
}
// rip out the services from framework/ for good measure
- if( !bEnabled )
+ try
{
- try
+ uno::Reference< ui::XUIElementFactoryManager > xUIElementFactory = ui::UIElementFactoryManager::create( xContext );
+ if( !bEnabled )
{
- uno::Reference< ui::XUIElementFactoryManager > xUIElementFactory = ui::UIElementFactoryManager::create( xContext );
xUIElementFactory->deregisterFactory( "toolpanel", "ScPanelFactory", "" );
xUIElementFactory->deregisterFactory( "toolpanel", "SwPanelFactory", "" );
xUIElementFactory->deregisterFactory( "toolpanel", "SvxPanelFactory", "" );
xUIElementFactory->deregisterFactory( "toolpanel", "SdPanelFactory", "" );
}
- catch ( const uno::Exception &e )
+ else
{
- SAL_WARN( "sfx2.view", "Exception de-registering sidebar factories " << e.Message );
+ xUIElementFactory->deregisterFactory( "toolpanel", "DrawingFramework",
+ "com.sun.star.presentation.PresentationDocument" );
}
}
+ catch ( const uno::Exception &e )
+ {
+ SAL_WARN( "sfx2.view", "Exception de-registering sidebar factories " << e.Message );
+ }
}
return bEnabled;