cui/source/options/optjava.cxx | 12 +++- cui/source/options/optjava.hxx | 1 cui/uiconfig/ui/optadvancedpage.ui | 19 ++++++ include/svtools/miscopt.hxx | 3 + officecfg/registry/schema/org/openoffice/Office/Common.xcs | 8 ++ sd/source/ui/app/sddll1.cxx | 6 ++ sd/source/ui/app/sddll2.cxx | 1 sd/source/ui/dlg/PaneShells.cxx | 23 ++++++++ sd/source/ui/framework/factories/BasicPaneFactory.cxx | 14 ++++- sd/source/ui/framework/factories/BasicPaneFactory.hxx | 1 sd/source/ui/framework/factories/BasicViewFactory.cxx | 13 ++++ sd/source/ui/framework/module/ImpressModule.cxx | 18 ++++++ sd/source/ui/framework/module/ToolPanelModule.cxx | 5 + sd/source/ui/framework/module/ToolPanelModule.hxx | 2 svtools/source/config/miscopt.cxx | 36 ++++++++++++- 15 files changed, 151 insertions(+), 11 deletions(-)
New commits: commit 3e82c25284eb368f8ed971044842fe919f24c672 Author: Michael Meeks <[email protected]> Date: Fri May 17 12:25:23 2013 +0100 more reverts, first cut at making sidebar optional. diff --git a/sd/source/ui/app/sddll1.cxx b/sd/source/ui/app/sddll1.cxx index 09a7346..100f527 100644 --- a/sd/source/ui/app/sddll1.cxx +++ b/sd/source/ui/app/sddll1.cxx @@ -37,6 +37,7 @@ #include "DrawDocShell.hxx" #include "GraphicDocShell.hxx" #include "SlideSorterViewShell.hxx" +#include "taskpane/ToolPanelViewShell.hxx" #include "FactoryIds.hxx" #include "sdmod.hxx" #include "app.hrc" @@ -114,6 +115,11 @@ void SdDLL::RegisterInterfaces() // View shells for the side panes. ::sd::slidesorter::SlideSorterViewShell::RegisterInterface (pMod); + + ::sd::toolpanel::ToolPanelViewShell::RegisterInterface(pMod); + // Tell the tool panel view shell to register the interfaces of its + // controls. + ::sd::toolpanel::ToolPanelViewShell::RegisterControls(); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/app/sddll2.cxx b/sd/source/ui/app/sddll2.cxx index 3088415..d28257d 100644 --- a/sd/source/ui/app/sddll2.cxx +++ b/sd/source/ui/app/sddll2.cxx @@ -126,6 +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); ::sfx2::sidebar::SidebarChildWindow::RegisterChildWindow(0, pMod); SvxFillToolBoxControl::RegisterControl(0, pMod); diff --git a/sd/source/ui/dlg/PaneShells.cxx b/sd/source/ui/dlg/PaneShells.cxx index 023dbcc..d3338ab 100644 --- a/sd/source/ui/dlg/PaneShells.cxx +++ b/sd/source/ui/dlg/PaneShells.cxx @@ -92,6 +92,29 @@ LeftDrawPaneShell::~LeftDrawPaneShell (void) { } +//===== ToolPanelPaneShell ======================================================== + +SFX_SLOTMAP( ToolPanelPaneShell ) +{ + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +SFX_IMPL_INTERFACE( ToolPanelPaneShell, SfxShell, SdResId( STR_TOOL_PANEL_SHELL ) ) +{ + SFX_CHILDWINDOW_REGISTRATION( ::sd::ToolPanelChildWindow::GetChildWindowId() ); +} + +TYPEINIT1( ToolPanelPaneShell, SfxShell ); + +ToolPanelPaneShell::ToolPanelPaneShell() + :SfxShell() +{ + SetName(OUString("ToolPanel")); +} + +ToolPanelPaneShell::~ToolPanelPaneShell(void) +{ +} } // end of namespace ::sd diff --git a/sd/source/ui/framework/factories/BasicPaneFactory.cxx b/sd/source/ui/framework/factories/BasicPaneFactory.cxx index 5c5a043..c91265f 100644 --- a/sd/source/ui/framework/factories/BasicPaneFactory.cxx +++ b/sd/source/ui/framework/factories/BasicPaneFactory.cxx @@ -45,7 +45,8 @@ namespace { CenterPaneId, FullScreenPaneId, LeftImpressPaneId, - LeftDrawPaneId + LeftDrawPaneId, + RightPaneId }; static const sal_Int32 gnConfigurationUpdateStartEvent(0); @@ -219,6 +220,11 @@ void SAL_CALL BasicPaneFactory::initialize (const Sequence<Any>& aArguments) aDescriptor.mePaneId = LeftDrawPaneId; mpPaneContainer->push_back(aDescriptor); xCC->addResourceFactory(aDescriptor.msPaneURL, this); + + aDescriptor.msPaneURL = FrameworkHelper::msRightPaneURL; + aDescriptor.mePaneId = RightPaneId; + mpPaneContainer->push_back(aDescriptor); + xCC->addResourceFactory(aDescriptor.msPaneURL, this); } // Register as configuration change listener. @@ -287,6 +293,7 @@ Reference<XResource> SAL_CALL BasicPaneFactory::createResource ( case LeftImpressPaneId: case LeftDrawPaneId: + case RightPaneId: xPane = CreateChildWindowPane( rxPaneId, *iDescriptor); @@ -472,6 +479,11 @@ Reference<XResource> BasicPaneFactory::CreateChildWindowPane ( nChildWindowId = ::sd::LeftPaneDrawChildWindow::GetChildWindowId(); break; + case RightPaneId: + pShell.reset(new ToolPanelPaneShell()); + nChildWindowId = ::sd::ToolPanelChildWindow::GetChildWindowId(); + break; + default: break; } diff --git a/sd/source/ui/framework/factories/BasicPaneFactory.hxx b/sd/source/ui/framework/factories/BasicPaneFactory.hxx index de9c81b..472609a 100644 --- a/sd/source/ui/framework/factories/BasicPaneFactory.hxx +++ b/sd/source/ui/framework/factories/BasicPaneFactory.hxx @@ -59,6 +59,7 @@ namespace sd { namespace framework { private:resource/pane/FullScreenPane private:resource/pane/LeftImpressPane private:resource/pane/LeftDrawPane + private:resource/pane/RightPane There are two left panes because this is (seems to be) the only way to show different titles for the left pane in Draw and Impress. */ diff --git a/sd/source/ui/framework/factories/BasicViewFactory.cxx b/sd/source/ui/framework/factories/BasicViewFactory.cxx index 78d7988..08b903b 100644 --- a/sd/source/ui/framework/factories/BasicViewFactory.cxx +++ b/sd/source/ui/framework/factories/BasicViewFactory.cxx @@ -33,6 +33,7 @@ #include "DrawViewShell.hxx" #include "GraphicViewShell.hxx" #include "OutlineViewShell.hxx" +#include "taskpane/ToolPanelViewShell.hxx" #include "PresentationViewShell.hxx" #include "SlideSorterViewShell.hxx" #include "FrameView.hxx" @@ -318,6 +319,7 @@ void SAL_CALL BasicViewFactory::initialize (const Sequence<Any>& aArguments) mxConfigurationController->addResourceFactory(FrameworkHelper::msNotesViewURL, this); mxConfigurationController->addResourceFactory(FrameworkHelper::msHandoutViewURL, this); mxConfigurationController->addResourceFactory(FrameworkHelper::msPresentationViewURL, this); + mxConfigurationController->addResourceFactory(FrameworkHelper::msTaskPaneURL, this); mxConfigurationController->addResourceFactory(FrameworkHelper::msSlideSorterURL, this); } catch (RuntimeException&) @@ -456,6 +458,15 @@ void SAL_CALL BasicViewFactory::initialize (const Sequence<Any>& aArguments) pFrameView, bIsCenterPane); } + else if (rsViewURL.equals(FrameworkHelper::msTaskPaneURL)) + { + pViewShell.reset( + new ::sd::toolpanel::ToolPanelViewShell( + &rFrame, + *mpBase, + &rWindow, + pFrameView)); + } return pViewShell; } @@ -522,6 +533,8 @@ bool BasicViewFactory::IsCacheable (const ::boost::shared_ptr<ViewDescriptor>& r FrameworkHelper::msSlideSorterURL, FrameworkHelper::msLeftDrawPaneURL)); maCacheableResources.push_back(pHelper->CreateResourceId( FrameworkHelper::msSlideSorterURL, FrameworkHelper::msLeftImpressPaneURL)); + maCacheableResources.push_back(pHelper->CreateResourceId( + FrameworkHelper::msTaskPaneURL, FrameworkHelper::msRightPaneURL)); } ::std::vector<Reference<XResourceId> >::const_iterator iId; diff --git a/sd/source/ui/framework/module/ImpressModule.cxx b/sd/source/ui/framework/module/ImpressModule.cxx index 240a94a..2c2ac43 100644 --- a/sd/source/ui/framework/module/ImpressModule.cxx +++ b/sd/source/ui/framework/module/ImpressModule.cxx @@ -17,6 +17,9 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ +#include <comphelper/processfactory.hxx> +#include <comphelper/configuration.hxx> +#include "officecfg/Office/Common.hxx" #include "framework/ImpressModule.hxx" @@ -45,9 +48,22 @@ void ImpressModule::Initialize (Reference<frame::XController>& rxController) new SlideSorterModule( rxController, FrameworkHelper::msLeftImpressPaneURL); + + // MMeeks ... + bool bSidebar = false; + try { + bSidebar = officecfg::Office::Common::Misc::ExperimentalSidebar::get( + comphelper::getProcessComponentContext()); + } catch (const uno::Exception &e) { + SAL_WARN("sd", "don't have experimental sidebar option installed"); + } new ToolPanelModule( rxController, - FrameworkHelper::msSidebarViewURL); + bSidebar ? FrameworkHelper::msSidebarViewURL : + FrameworkHelper::msTaskPaneURL, + bSidebar ? FrameworkHelper::msSidebarPaneURL : + FrameworkHelper::msRightPaneURL + ); new ToolBarModule(rxController); new ShellStackGuard(rxController); } diff --git a/sd/source/ui/framework/module/ToolPanelModule.cxx b/sd/source/ui/framework/module/ToolPanelModule.cxx index c607fbd..273a22a 100644 --- a/sd/source/ui/framework/module/ToolPanelModule.cxx +++ b/sd/source/ui/framework/module/ToolPanelModule.cxx @@ -42,9 +42,10 @@ namespace sd { namespace framework { ToolPanelModule::ToolPanelModule ( const Reference<frame::XController>& rxController, - const OUString& rsSidebarPaneURL) + const OUString& rsViewURL, + const OUString& rsPaneURL) : ResourceManager(rxController, - FrameworkHelper::CreateResourceId(FrameworkHelper::msSidebarViewURL, rsSidebarPaneURL)), + FrameworkHelper::CreateResourceId(rsViewURL, rsPaneURL)), mxControllerManager(rxController,UNO_QUERY) { if (mxConfigurationController.is()) diff --git a/sd/source/ui/framework/module/ToolPanelModule.hxx b/sd/source/ui/framework/module/ToolPanelModule.hxx index ce28ef8..112ffbf 100644 --- a/sd/source/ui/framework/module/ToolPanelModule.hxx +++ b/sd/source/ui/framework/module/ToolPanelModule.hxx @@ -35,7 +35,7 @@ class ToolPanelModule public: ToolPanelModule ( const css::uno::Reference<css::frame::XController>& rxController, - const OUString& rsRightPaneURL); + const OUString& rsViewURL, const OUString& rsPaneURL); virtual ~ToolPanelModule (void); virtual void SaveResourceState (void); commit 1db0b004de7ff73adbd136483e86e700028a75d3 Author: Michael Meeks <[email protected]> Date: Fri May 17 11:51:41 2013 +0100 add experimental option for sidebar to 'Advanced' pane. diff --git a/cui/source/options/optjava.cxx b/cui/source/options/optjava.cxx index 8f7adca..1c03981 100644 --- a/cui/source/options/optjava.cxx +++ b/cui/source/options/optjava.cxx @@ -144,6 +144,7 @@ SvxJavaOptionsPage::SvxJavaOptionsPage( Window* pParent, const SfxItemSet& rSet get(m_pParameterBtn, "parameters"); get(m_pClassPathBtn, "classpath"); get(m_pExperimentalCB, "experimental"); + get(m_pExpSidebarCB, "exp_sidebar"); get(m_pMacroCB, "macrorecording"); m_sAccessibilityText = get<FixedText>("a11y")->GetText(); m_sAddDialogText = get<FixedText>("selectruntime")->GetText(); @@ -622,6 +623,13 @@ sal_Bool SvxJavaOptionsPage::FillItemSet( SfxItemSet& /*rCoreSet*/ ) bModified = sal_True; } + if ( m_pExpSidebarCB->IsChecked() != m_pExpSidebarCB->GetSavedValue() ) + { + SvtMiscOptions aMiscOpt; + aMiscOpt.SetExperimentalSidebar( m_pExpSidebarCB->IsChecked() ); + bModified = sal_True; + } + if ( m_pMacroCB->IsChecked() != m_pMacroCB->GetSavedValue() ) { SvtMiscOptions aMiscOpt; @@ -629,8 +637,6 @@ sal_Bool SvxJavaOptionsPage::FillItemSet( SfxItemSet& /*rCoreSet*/ ) bModified = sal_True; } - - if ( m_pPathDlg ) { OUString sPath( m_pPathDlg->GetClassPath() ); @@ -716,6 +722,8 @@ void SvxJavaOptionsPage::Reset( const SfxItemSet& /*rSet*/ ) m_pExperimentalCB->Check( aMiscOpt.IsExperimentalMode() ); m_pExperimentalCB->SaveValue(); + m_pExpSidebarCB->Check( aMiscOpt.IsExperimentalSidebar() ); + m_pExpSidebarCB->SaveValue(); m_pMacroCB->Check( aMiscOpt.IsMacroRecorderMode() ); m_pMacroCB->SaveValue(); diff --git a/cui/source/options/optjava.hxx b/cui/source/options/optjava.hxx index 07fa6be..b3e9c8e 100644 --- a/cui/source/options/optjava.hxx +++ b/cui/source/options/optjava.hxx @@ -65,6 +65,7 @@ private: Timer m_aResetTimer; CheckBox* m_pExperimentalCB; + CheckBox* m_pExpSidebarCB; CheckBox* m_pMacroCB; ::std::vector< JavaInfo* > diff --git a/cui/uiconfig/ui/optadvancedpage.ui b/cui/uiconfig/ui/optadvancedpage.ui index ddfce7e..8fac290 100644 --- a/cui/uiconfig/ui/optadvancedpage.ui +++ b/cui/uiconfig/ui/optadvancedpage.ui @@ -340,6 +340,23 @@ </packing> </child> <child> + <object class="GtkCheckButton" id="exp_sidebar"> + <property name="label" translatable="yes">Enable experimental sidebar</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="xalign">0</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> <object class="GtkCheckButton" id="macrorecording"> <property name="label" translatable="yes">Enable macro recording</property> <property name="visible">True</property> @@ -350,7 +367,7 @@ </object> <packing> <property name="left_attach">0</property> - <property name="top_attach">1</property> + <property name="top_attach">2</property> <property name="width">1</property> <property name="height">1</property> </packing> diff --git a/include/svtools/miscopt.hxx b/include/svtools/miscopt.hxx index 85c5b604..ca0b569 100644 --- a/include/svtools/miscopt.hxx +++ b/include/svtools/miscopt.hxx @@ -109,6 +109,9 @@ class SVT_DLLPUBLIC SvtMiscOptions: public utl::detail::Options void SetExperimentalMode( sal_Bool bSet ); sal_Bool IsExperimentalMode() const; + void SetExperimentalSidebar( sal_Bool bSet ); + sal_Bool IsExperimentalSidebar() const; + void SetMacroRecorderMode( sal_Bool bSet ); sal_Bool IsMacroRecorderMode() const; diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs index d514c10..2666c98 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs @@ -5521,11 +5521,17 @@ </prop> <prop oor:name="ExperimentalMode" oor:type="xs:boolean" oor:nillable="false"> <info> - <desc>Determins if various experimental, and potentially unstable + <desc>Determines if various experimental, and potentially unstable features should be enabled in the user interface.</desc> </info> <value>false</value> </prop> + <prop oor:name="ExperimentalSidebar" oor:type="xs:boolean" oor:nillable="false"> + <info> + <desc>Determines if the experimental sidebar UI change should be enabled.</desc> + </info> + <value>false</value> + </prop> <prop oor:name="MacroRecorderMode" oor:type="xs:boolean" oor:nillable="false"> <info> <desc>Determins if the limited, and awkward code producing diff --git a/svtools/source/config/miscopt.cxx b/svtools/source/config/miscopt.cxx index ed509e0..4ac2f9f 100644 --- a/svtools/source/config/miscopt.cxx +++ b/svtools/source/config/miscopt.cxx @@ -63,8 +63,10 @@ using namespace ::com::sun::star; #define PROPERTYHANDLE_ALWAYSALLOWSAVE 8 #define PROPERTYNAME_EXPERIMENTALMODE "ExperimentalMode" #define PROPERTYHANDLE_EXPERIMENTALMODE 9 -#define PROPERTYNAME_MACRORECORDERMODE "MacroRecorderMode" +#define PROPERTYNAME_MACRORECORDERMODE "MacroRecorderMode" #define PROPERTYHANDLE_MACRORECORDERMODE 10 +#define PROPERTYNAME_EXPERIMENTALSIDEBAR "ExperimentalSidebar" +#define PROPERTYHANDLE_EXPERIMENTALSIDEBAR 11 #define VCL_TOOLBOX_STYLE_FLAT ((sal_uInt16)0x0004) // from <vcl/toolbox.hxx> @@ -88,6 +90,7 @@ class SvtMiscOptions_Impl : public ConfigItem sal_Bool m_bDisableUICustomization; sal_Bool m_bAlwaysAllowSave; sal_Bool m_bExperimentalMode; + sal_Bool m_bExperimentalSidebar; sal_Bool m_bMacroRecorderMode; public: @@ -160,6 +163,12 @@ class SvtMiscOptions_Impl : public ConfigItem inline sal_Bool IsExperimentalMode() const { return m_bExperimentalMode; } + inline void SetExperimentalSidebar( sal_Bool bSet ) + { m_bExperimentalSidebar = bSet; SetModified(); } + + inline sal_Bool IsExperimentalSidebar() const + { return m_bExperimentalSidebar; } + inline void SetMacroRecorderMode( sal_Bool bSet ) { m_bMacroRecorderMode = bSet; SetModified(); } @@ -272,6 +281,7 @@ SvtMiscOptions_Impl::SvtMiscOptions_Impl() , m_bIsShowLinkWarningDialogRO( sal_False ) , m_bAlwaysAllowSave( sal_False ) , m_bExperimentalMode( sal_False ) + , m_bExperimentalSidebar( sal_False ) , m_bMacroRecorderMode( sal_False ) { @@ -391,6 +401,12 @@ SvtMiscOptions_Impl::SvtMiscOptions_Impl() OSL_FAIL("Wrong type of \"Misc\\MacroRecorderMode\"!" ); break; } + case PROPERTYHANDLE_EXPERIMENTALSIDEBAR : + { + if( !(seqValues[nProperty] >>= m_bExperimentalSidebar) ) + OSL_FAIL("Wrong type of \"Misc\\ExperimentalSidebar\"!" ); + break; + } } } @@ -673,6 +689,11 @@ void SvtMiscOptions_Impl::Commit() seqValues[nProperty] <<= m_bMacroRecorderMode; break; } + case PROPERTYHANDLE_EXPERIMENTALSIDEBAR : + { + seqValues[nProperty] <<= m_bExperimentalSidebar; + break; + } } } // Set properties in configuration. @@ -697,7 +718,8 @@ Sequence< OUString > SvtMiscOptions_Impl::GetPropertyNames() OUString(PROPERTYNAME_DISABLEUICUSTOMIZATION), OUString(PROPERTYNAME_ALWAYSALLOWSAVE), OUString(PROPERTYNAME_EXPERIMENTALMODE), - OUString(PROPERTYNAME_MACRORECORDERMODE) + OUString(PROPERTYNAME_MACRORECORDERMODE), + OUString(PROPERTYNAME_EXPERIMENTALSIDEBAR) }; // Initialize return sequence with these list ... @@ -878,6 +900,16 @@ sal_Bool SvtMiscOptions::IsExperimentalMode() const return m_pDataContainer->IsExperimentalMode(); } +void SvtMiscOptions::SetExperimentalSidebar( sal_Bool bSet ) +{ + m_pDataContainer->SetExperimentalSidebar( bSet ); +} + +sal_Bool SvtMiscOptions::IsExperimentalSidebar() const +{ + return m_pDataContainer->IsExperimentalSidebar(); +} + void SvtMiscOptions::SetMacroRecorderMode( sal_Bool bSet ) { m_pDataContainer->SetMacroRecorderMode( bSet ); _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
