diff options
author | Michael Meeks <michael.meeks@suse.com> | 2013-04-09 14:31:40 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2013-04-09 15:15:04 +0100 |
commit | 24a519964c25583c6cb78584b928e2aea170ab75 (patch) | |
tree | 77601d9dac6a0e49c9c257fbe48fdf7c39d66ceb | |
parent | 79c6797c2e17cb4f417621e83a85b46af16f29ed (diff) |
impress: wire up a new view - the slide jockey view.
Change-Id: I9be6bf2a55f4e89d0cfb5ac426960d022ab2f490
38 files changed, 254 insertions, 348 deletions
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu index 50afd03ca69d..00e5ed5b307d 100644 --- a/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu +++ b/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu @@ -624,6 +624,11 @@ <value xml:lang="en-US">Sli~de Sorter</value> </prop> </node> + <node oor:name=".uno:JockeyMode" oor:op="replace"> + <prop oor:name="Label" oor:type="xs:string"> + <value xml:lang="en-US">Slide ~Jockey</value> + </prop> + </node> <node oor:name=".uno:PreviewQualityContrast" oor:op="replace"> <prop oor:name="Label" oor:type="xs:string"> <value xml:lang="en-US">~High Contrast</value> diff --git a/officecfg/registry/schema/org/openoffice/Office/Impress.xcs b/officecfg/registry/schema/org/openoffice/Office/Impress.xcs index e84ba829c64a..31f77d5e03bd 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Impress.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Impress.xcs @@ -19,7 +19,7 @@ <!DOCTYPE oor:component-schema SYSTEM "../../../../component-schema.dtd"> <oor:component-schema xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" oor:name="Impress" oor:package="org.openoffice.Office" xml:lang="en-US"> <info> - <desc >Contains configuration items related to the Impress application.</desc> + <desc>Contains configuration items related to the Impress application.</desc> </info> <import oor:component="org.openoffice.Office.Common"/> <templates> diff --git a/sd/inc/FactoryIds.hxx b/sd/inc/FactoryIds.hxx index b14b02b0f19b..31f3c20d68b5 100644 --- a/sd/inc/FactoryIds.hxx +++ b/sd/inc/FactoryIds.hxx @@ -34,7 +34,8 @@ enum ViewShellFactoryIds DRAW_FACTORY_ID = 1, SLIDE_SORTER_FACTORY_ID = 2, OUTLINE_FACTORY_ID = 3, - PRESENTATION_FACTORY_ID = 4 + PRESENTATION_FACTORY_ID = 4, + SLIDE_JOCKEY_FACTORY_ID = 5 }; } // end of namespace sd diff --git a/sd/inc/app.hrc b/sd/inc/app.hrc index 5dc3b3d091ff..3fbf9cc02e62 100644 --- a/sd/inc/app.hrc +++ b/sd/inc/app.hrc @@ -69,6 +69,7 @@ #define SID_PAGESETUP (SID_SD_START+2) #define SID_COPYOBJECTS (SID_SD_START+4) #define SID_MANAGE_LINKS (SID_SD_START+5) +#define SID_JOCKEYMODE (SID_SD_START+7) #define SID_CONVERT_TO_3D_LATHE (SID_SD_START+8) #define SID_DRAWINGMODE (SID_SD_START+9) #define SID_OUTLINEMODE (SID_SD_START+10) diff --git a/sd/inc/glob.hrc b/sd/inc/glob.hrc index 009b0929317e..0a75591f5f3a 100644 --- a/sd/inc/glob.hrc +++ b/sd/inc/glob.hrc @@ -126,6 +126,7 @@ #define STR_LEFT_IMPRESS_PANE_SHELL RID_GLOB_START+113 #define STR_LEFT_DRAW_PANE_SHELL RID_GLOB_START+114 #define STR_TOOL_PANEL_SHELL RID_GLOB_START+116 +#define STR_SLIDEJOCKEYVIEWSHELL RID_GLOB_START+117 #define RID_CUSTOMANIMATION_START RID_GLOB_START+120 // RID_CUSTOMANIMATION_END RID_GLOB_START+199 diff --git a/sd/inc/glob.hxx b/sd/inc/glob.hxx index a88c280d9646..732481846cc6 100644 --- a/sd/inc/glob.hxx +++ b/sd/inc/glob.hxx @@ -56,6 +56,7 @@ #define SD_IF_SDANNOTATIONSHELL SFX_INTERFACE_SD_START + 28 #define SD_IF_SDTOOLPANELPANESHELL SFX_INTERFACE_SD_START + 29 #define SD_IF_SDTOOLPANELSHELL SFX_INTERFACE_SD_START + 30 +#define SD_IF_SDSLIDEJOCKEYVIEWSHELL SFX_INTERFACE_SD_START + 31 // Inventor-Id for StarDraw UserData const sal_uInt32 SdUDInventor=sal_uInt32('S')*0x00000001+ diff --git a/sd/inc/sdcommands.h b/sd/inc/sdcommands.h index daecfe819ffc..a36637058b0e 100644 --- a/sd/inc/sdcommands.h +++ b/sd/inc/sdcommands.h @@ -51,6 +51,7 @@ #define CMD_SID_DELETE_PAGE ".uno:DeletePage" #define CMD_SID_DELETE_SNAPITEM ".uno:DeleteSnapItem" #define CMD_SID_DIAMODE ".uno:DiaMode" +#define CMD_SID_JOCKEYMODE ".uno:JockeyMode" #define CMD_SID_DISMANTLE ".uno:Dismantle" #define CMD_SID_DRAWINGMODE ".uno:DrawingMode" #define CMD_SID_CUSTOM_ANIMATION_PANEL ".uno:CustomAnimation" diff --git a/sd/sdi/SlideSorterController.sdi b/sd/sdi/SlideSorterController.sdi index d1af8d0fdab8..253b89376578 100644 --- a/sd/sdi/SlideSorterController.sdi +++ b/sd/sdi/SlideSorterController.sdi @@ -309,3 +309,15 @@ shell SlideSorterViewShell { import SlideSorterView[Automation]; } + +shell SlideJockeyController +{ + // FIXME - tweak and/or extend in future + import SlideSorterView[Automation]; +} + +shell SlideJockeyViewShell +{ + // FIXME - tweak and/or extend in future + import SlideSorterView[Automation]; +} diff --git a/sd/sdi/ViewShellBase.sdi b/sd/sdi/ViewShellBase.sdi index 79275aab69dc..6dfaf866cffe 100644 --- a/sd/sdi/ViewShellBase.sdi +++ b/sd/sdi/ViewShellBase.sdi @@ -52,6 +52,11 @@ interface ViewShellBaseView ExecMethod = Execute; StateMethod = GetState; ] + SID_JOCKEYMODE + [ + ExecMethod = Execute; + StateMethod = GetState; + ] SID_DRAWINGMODE [ ExecMethod = Execute; diff --git a/sd/sdi/sdraw.sdi b/sd/sdi/sdraw.sdi index 83b4d04d67a0..1e83de0b9dea 100644 --- a/sd/sdi/sdraw.sdi +++ b/sd/sdi/sdraw.sdi @@ -2034,6 +2034,33 @@ SfxBoolItem DiaMode SID_DIAMODE ] //-------------------------------------------------------------------------- +SfxBoolItem JockeyMode SID_JOCKEYMODE + +[ + /* flags: */ + AutoUpdate = FALSE, + Cachable = Cachable, + FastCall = FALSE, + HasCoreId = FALSE, + HasDialog = FALSE, + ReadOnlyDoc = TRUE, + Toggle = FALSE, + Container = FALSE, + RecordAbsolute = FALSE, + RecordPerSet; + Synchron; + + Readonly = FALSE, + + /* config: */ + AccelConfig = TRUE, + MenuConfig = TRUE, + StatusBarConfig = FALSE, + ToolBoxConfig = TRUE, + GroupId = GID_VIEW; +] + +//-------------------------------------------------------------------------- SfxVoidItem Dismantle SID_DISMANTLE () [ diff --git a/sd/source/core/glob.src b/sd/source/core/glob.src index 91b47afdfb70..81460023b4ee 100644 --- a/sd/source/core/glob.src +++ b/sd/source/core/glob.src @@ -346,6 +346,11 @@ String STR_SLIDESORTERVIEWSHELL Text [ en-US ] = "Slide Sorter" ; }; +String STR_SLIDEJOCKEYVIEWSHELL +{ + Text [ en-US ] = "Slide Jockey" ; +}; + String STR_TOOL_PANEL_SHELL { Text [ en-US ] = "Tool Panel" ; diff --git a/sd/source/ui/app/menuids_tmpl.src b/sd/source/ui/app/menuids_tmpl.src index b28c01895d11..d9e4e43cfacf 100644 --- a/sd/source/ui/app/menuids_tmpl.src +++ b/sd/source/ui/app/menuids_tmpl.src @@ -62,6 +62,15 @@ Text [ en-US ] = "~Slide Sorter" ; \ }; +#define MN_JOCKEYMODE \ + MenuItem\ + {\ + Identifier = SID_JOCKEYMODE ; \ + HelpId = CMD_SID_JOCKEYMODE ; \ + Check = TRUE ; \ + Text [ en-US ] = "Slide ~Jockey" ; \ + }; + #define MN_PRESENTATION \ MenuItem\ {\ diff --git a/sd/source/ui/app/popup.src b/sd/source/ui/app/popup.src index a57a1100d5a3..b027026f9898 100644 --- a/sd/source/ui/app/popup.src +++ b/sd/source/ui/app/popup.src @@ -381,6 +381,7 @@ Menu RID_OUTLINE_POPUP SEPARATOR MN_DRAWINGMODE MN_DIAMODE + MN_JOCKEYMODE MN_PRESENTATION }; }; diff --git a/sd/source/ui/app/popup2_tmpl.src b/sd/source/ui/app/popup2_tmpl.src index 2b2cbdca3aec..79e3b408d815 100644 --- a/sd/source/ui/app/popup2_tmpl.src +++ b/sd/source/ui/app/popup2_tmpl.src @@ -557,6 +557,7 @@ #if SD_POPUP == RID_DRAW_TEXTOBJ_POPUP MN_OUTLINEMODE MN_DIAMODE + MN_JOCKEYMODE MN_PRESENTATION #endif SEPARATOR diff --git a/sd/source/ui/app/sddll1.cxx b/sd/source/ui/app/sddll1.cxx index 5fecbce7b4ee..b816bd30704e 100644 --- a/sd/source/ui/app/sddll1.cxx +++ b/sd/source/ui/app/sddll1.cxx @@ -66,6 +66,8 @@ void SdDLL::RegisterFactorys() ::sd::OUTLINE_FACTORY_ID); ::sd::PresentationViewShellBase::RegisterFactory ( ::sd::PRESENTATION_FACTORY_ID); + ::sd::SlideJockeyViewShellBase::RegisterFactory ( + ::sd::SLIDE_JOCKEY_FACTORY_ID); } if (SvtModuleOptions().IsDraw()) { diff --git a/sd/source/ui/app/strings.src b/sd/source/ui/app/strings.src index 17a07b98d238..a2c1fe5263eb 100644 --- a/sd/source/ui/app/strings.src +++ b/sd/source/ui/app/strings.src @@ -140,6 +140,10 @@ String STR_SLIDE_MODE { Text [ en-US ] = "Slide Sorter" ; }; +String STR_JOCKEY_MODE +{ + Text [ en-US ] = "Slide Jockey" ; +}; String STR_DRAW_MODE { Text [ en-US ] = "Normal" ; diff --git a/sd/source/ui/framework/factories/BasicViewFactory.cxx b/sd/source/ui/framework/factories/BasicViewFactory.cxx index 927a26159cd4..e27ca0e56e68 100644 --- a/sd/source/ui/framework/factories/BasicViewFactory.cxx +++ b/sd/source/ui/framework/factories/BasicViewFactory.cxx @@ -321,6 +321,7 @@ void SAL_CALL BasicViewFactory::initialize (const Sequence<Any>& aArguments) mxConfigurationController->addResourceFactory(FrameworkHelper::msPresentationViewURL, this); mxConfigurationController->addResourceFactory(FrameworkHelper::msTaskPaneURL, this); mxConfigurationController->addResourceFactory(FrameworkHelper::msSlideSorterURL, this); + mxConfigurationController->addResourceFactory(FrameworkHelper::msJockeySorterURL, this); } catch (RuntimeException&) { @@ -402,7 +403,7 @@ void SAL_CALL BasicViewFactory::initialize (const Sequence<Any>& aArguments) PK_STANDARD, pFrameView)); } - else if (rsViewURL.equals(FrameworkHelper::msDrawViewURL)) + else if (rsViewURL == FrameworkHelper::msDrawViewURL) { pViewShell.reset( new GraphicViewShell ( @@ -411,7 +412,7 @@ void SAL_CALL BasicViewFactory::initialize (const Sequence<Any>& aArguments) &rWindow, pFrameView)); } - else if (rsViewURL.equals(FrameworkHelper::msOutlineViewURL)) + else if (rsViewURL == FrameworkHelper::msOutlineViewURL) { pViewShell.reset( new OutlineViewShell ( @@ -420,7 +421,7 @@ void SAL_CALL BasicViewFactory::initialize (const Sequence<Any>& aArguments) &rWindow, pFrameView)); } - else if (rsViewURL.equals(FrameworkHelper::msNotesViewURL)) + else if (rsViewURL == FrameworkHelper::msNotesViewURL) { pViewShell.reset( new DrawViewShell( @@ -430,7 +431,7 @@ void SAL_CALL BasicViewFactory::initialize (const Sequence<Any>& aArguments) PK_NOTES, pFrameView)); } - else if (rsViewURL.equals(FrameworkHelper::msHandoutViewURL)) + else if (rsViewURL == FrameworkHelper::msHandoutViewURL) { pViewShell.reset( new DrawViewShell( @@ -440,7 +441,7 @@ void SAL_CALL BasicViewFactory::initialize (const Sequence<Any>& aArguments) PK_HANDOUT, pFrameView)); } - else if (rsViewURL.equals(FrameworkHelper::msPresentationViewURL)) + else if (rsViewURL == FrameworkHelper::msPresentationViewURL) { pViewShell.reset( new PresentationViewShell( @@ -449,7 +450,7 @@ void SAL_CALL BasicViewFactory::initialize (const Sequence<Any>& aArguments) &rWindow, pFrameView)); } - else if (rsViewURL.equals(FrameworkHelper::msTaskPaneURL)) + else if (rsViewURL == FrameworkHelper::msTaskPaneURL) { pViewShell.reset( new ::sd::toolpanel::ToolPanelViewShell( @@ -458,7 +459,7 @@ void SAL_CALL BasicViewFactory::initialize (const Sequence<Any>& aArguments) &rWindow, pFrameView)); } - else if (rsViewURL.equals(FrameworkHelper::msSlideSorterURL)) + else if (rsViewURL == FrameworkHelper::msSlideSorterURL) { pViewShell = ::sd::slidesorter::SlideSorterViewShell::Create ( &rFrame, @@ -467,6 +468,15 @@ void SAL_CALL BasicViewFactory::initialize (const Sequence<Any>& aArguments) pFrameView, bIsCenterPane); } + else if (rsViewURL == FrameworkHelper::msJockeySorterURL) + { + pViewShell = ::sd::slidesorter::SlideJockeyViewShell::Create ( + &rFrame, + *mpBase, + &rWindow, + pFrameView, + bIsCenterPane); + } return pViewShell; } diff --git a/sd/source/ui/framework/module/SlideSorterModule.cxx b/sd/source/ui/framework/module/SlideSorterModule.cxx index 412a7c608e48..bc5e108cc4fb 100644 --- a/sd/source/ui/framework/module/SlideSorterModule.cxx +++ b/sd/source/ui/framework/module/SlideSorterModule.cxx @@ -34,10 +34,8 @@ using namespace ::com::sun::star::drawing::framework; using ::sd::framework::FrameworkHelper; - namespace sd { namespace framework { - //===== SlideSorterModule ================================================== SlideSorterModule::SlideSorterModule ( @@ -74,9 +72,6 @@ SlideSorterModule::SlideSorterModule ( } } - - - SlideSorterModule::~SlideSorterModule (void) { } @@ -91,7 +86,6 @@ void SlideSorterModule::SaveResourceState (void) SvtSlideSorterBarOptions().SetVisibleDrawView(IsResourceActive(FrameworkHelper::msDrawViewURL)); } - void SAL_CALL SlideSorterModule::notifyConfigurationChange ( const ConfigurationChangeEvent& rEvent) throw (RuntimeException) @@ -137,24 +131,32 @@ void SlideSorterModule::UpdateViewTabBar (const Reference<XTabBar>& rxTabBar) if (xBar.is()) { - TabBarButton aButtonA; - aButtonA.ResourceId = FrameworkHelper::CreateResourceId( + TabBarButton aButtonPos; + // lookup the position + aButtonPos.ResourceId = FrameworkHelper::CreateResourceId( + FrameworkHelper::msHandoutViewURL, + FrameworkHelper::msCenterPaneURL); + + TabBarButton aButtonSorter; + aButtonSorter.ResourceId = FrameworkHelper::CreateResourceId( FrameworkHelper::msSlideSorterURL, FrameworkHelper::msCenterPaneURL); - aButtonA.ButtonLabel = String(SdResId(STR_SLIDE_MODE)); + aButtonSorter.ButtonLabel = String(SdResId(STR_SLIDE_MODE)); - TabBarButton aButtonB; - aButtonB.ResourceId = FrameworkHelper::CreateResourceId( - FrameworkHelper::msHandoutViewURL, + TabBarButton aButtonJockey; + aButtonJockey.ResourceId = FrameworkHelper::CreateResourceId( + FrameworkHelper::msJockeySorterURL, FrameworkHelper::msCenterPaneURL); + aButtonJockey.ButtonLabel = String(SdResId(STR_JOCKEY_MODE)); - if ( ! xBar->hasTabBarButton(aButtonA)) - xBar->addTabBarButtonAfter(aButtonA, aButtonB); + if (!xBar->hasTabBarButton(aButtonSorter)) + xBar->addTabBarButtonAfter(aButtonSorter, aButtonPos); + + if (!xBar->hasTabBarButton(aButtonJockey)) + xBar->addTabBarButtonAfter(aButtonJockey, aButtonSorter); } } - - } } // end of namespace sd::framework /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/framework/tools/FrameworkHelper.cxx b/sd/source/ui/framework/tools/FrameworkHelper.cxx index fb7fa1a2a328..253990187822 100644 --- a/sd/source/ui/framework/tools/FrameworkHelper.cxx +++ b/sd/source/ui/framework/tools/FrameworkHelper.cxx @@ -50,10 +50,8 @@ using namespace ::com::sun::star; using namespace ::com::sun::star::uno; using namespace ::com::sun::star::drawing::framework; - namespace { - //----- CallbackCaller -------------------------------------------------------- typedef ::cppu::WeakComponentImplHelper1 < @@ -110,8 +108,6 @@ private: }; - - //----- LifetimeController ---------------------------------------------------- typedef ::cppu::WeakComponentImplHelper1 < @@ -155,9 +151,6 @@ private: */ void Update (void); }; - - - } // end of anonymous namespace namespace sd { namespace framework { @@ -181,6 +174,7 @@ const OUString FrameworkHelper::msOutlineViewURL( msViewURLPrefix + "OutlineView const OUString FrameworkHelper::msNotesViewURL( msViewURLPrefix + "NotesView"); const OUString FrameworkHelper::msHandoutViewURL( msViewURLPrefix + "HandoutView"); const OUString FrameworkHelper::msSlideSorterURL( msViewURLPrefix + "SlideSorter"); +const OUString FrameworkHelper::msJockeySorterURL( msViewURLPrefix + "JockeySorter"); const OUString FrameworkHelper::msPresentationViewURL( msViewURLPrefix + "PresentationView"); const OUString FrameworkHelper::msTaskPaneURL( msViewURLPrefix + "TaskPane"); @@ -270,9 +264,6 @@ public: ViewURLMap (void) {} }; - - - //----- Framework::DiposeListener --------------------------------------------- namespace { @@ -298,18 +289,12 @@ private: ::boost::shared_ptr<FrameworkHelper> mpHelper; }; - - - //----- FrameworkHelper ------------------------------------------------------- ::boost::scoped_ptr<FrameworkHelper::ViewURLMap> FrameworkHelper::mpViewURLMap(new ViewURLMap()); - FrameworkHelper::InstanceMap FrameworkHelper::maInstanceMap; - - ::boost::shared_ptr<FrameworkHelper> FrameworkHelper::Instance ( const Reference<frame::XController>& rxController) { @@ -330,9 +315,6 @@ FrameworkHelper::InstanceMap FrameworkHelper::maInstanceMap; return ::boost::shared_ptr<FrameworkHelper>(); } - - - ::boost::shared_ptr<FrameworkHelper> FrameworkHelper::Instance (ViewShellBase& rBase) { @@ -361,9 +343,6 @@ FrameworkHelper::InstanceMap FrameworkHelper::maInstanceMap; return pHelper; } - - - void FrameworkHelper::DisposeInstance (ViewShellBase& rBase) { InstanceMap::iterator iHelper (maInstanceMap.find(&rBase)); @@ -373,9 +352,6 @@ void FrameworkHelper::DisposeInstance (ViewShellBase& rBase) } } - - - void FrameworkHelper::ReleaseInstance (ViewShellBase& rBase) { InstanceMap::iterator iHelper (maInstanceMap.find(&rBase)); @@ -383,9 +359,6 @@ void FrameworkHelper::ReleaseInstance (ViewShellBase& rBase) maInstanceMap.erase(iHelper); } - - - FrameworkHelper::FrameworkHelper (ViewShellBase& rBase) : mrBase(rBase), mxConfigurationController(), @@ -401,24 +374,15 @@ FrameworkHelper::FrameworkHelper (ViewShellBase& rBase) new LifetimeController(mrBase); } - - - void FrameworkHelper::Initialize (void) { mxDisposeListener = new DisposeListener(shared_from_this()); } - - - FrameworkHelper::~FrameworkHelper (void) { } - - - void FrameworkHelper::Dispose (void) { if (mxDisposeListener.is()) @@ -426,17 +390,11 @@ void FrameworkHelper::Dispose (void) mxConfigurationController = NULL; } - - - bool FrameworkHelper::IsValid (void) { return mxConfigurationController.is(); } - - - ::boost::shared_ptr<ViewShell> FrameworkHelper::GetViewShell (const OUString& rsPaneURL) { if ( !mxConfigurationController.is() ) @@ -446,17 +404,11 @@ bool FrameworkHelper::IsValid (void) return lcl_getViewShell( lcl_getFirstViewInPane( mxConfigurationController, xPaneId ) ); } - - - ::boost::shared_ptr<ViewShell> FrameworkHelper::GetViewShell (const Reference<XView>& rxView) { return lcl_getViewShell( rxView.get() ); } - - - Reference<XView> FrameworkHelper::GetView (const Reference<XResourceId>& rxPaneOrViewId) { Reference<XView> xView; @@ -486,9 +438,6 @@ Reference<XView> FrameworkHelper::GetView (const Reference<XResourceId>& rxPaneO return xView; } - - - Reference<XResourceId> FrameworkHelper::RequestView ( const OUString& rsResourceURL, const OUString& rsAnchorURL) @@ -521,9 +470,6 @@ Reference<XResourceId> FrameworkHelper::RequestView ( return xViewId; } - - - void FrameworkHelper::RequestTaskPanel ( const OUString& rsTaskPanelURL, const bool bEnsureTaskPaneIsVisible) @@ -567,9 +513,6 @@ void FrameworkHelper::RequestTaskPanel ( {} } - - - ViewShell::ShellType FrameworkHelper::GetViewId (const OUString& rsViewURL) { if (mpViewURLMap->empty()) @@ -580,6 +523,7 @@ ViewShell::ShellType FrameworkHelper::GetViewId (const OUString& rsViewURL) (*mpViewURLMap)[msNotesViewURL] = ViewShell::ST_NOTES; (*mpViewURLMap)[msHandoutViewURL] = ViewShell::ST_HANDOUT; (*mpViewURLMap)[msSlideSorterURL] = ViewShell::ST_SLIDE_SORTER; + (*mpViewURLMap)[msJockeySorterURL] = ViewShell::ST_JOCKEY_SORTER; (*mpViewURLMap)[msPresentationViewURL] = ViewShell::ST_PRESENTATION; (*mpViewURLMap)[msTaskPaneURL] = ViewShell::ST_TASK_PANE; } @@ -590,9 +534,6 @@ ViewShell::ShellType FrameworkHelper::GetViewId (const OUString& rsViewURL) return ViewShell::ST_NONE; } - - - OUString FrameworkHelper::GetViewURL (ViewShell::ShellType eType) { switch (eType) @@ -603,6 +544,7 @@ OUString FrameworkHelper::GetViewURL (ViewShell::ShellType eType) case ViewShell::ST_NOTES : return msNotesViewURL; case ViewShell::ST_HANDOUT : return msHandoutViewURL; case ViewShell::ST_SLIDE_SORTER : return msSlideSorterURL; + case ViewShell::ST_JOCKEY_SORTER : return msJockeySorterURL; case ViewShell::ST_PRESENTATION : return msPresentationViewURL; case ViewShell::ST_TASK_PANE : return msTaskPaneURL; default: @@ -610,9 +552,6 @@ OUString FrameworkHelper::GetViewURL (ViewShell::ShellType eType) } } - - - void FrameworkHelper::HandleModeChangeSlot ( sal_uLong nSlotId, SfxRequest& rRequest) @@ -628,6 +567,7 @@ void FrameworkHelper::HandleModeChangeSlot ( case SID_NOTESMODE: case SID_HANDOUTMODE: case SID_DIAMODE: + case SID_JOCKEYMODE: case SID_OUTLINEMODE: { const SfxItemSet* pRequestArguments = rRequest.GetArgs(); @@ -673,8 +613,12 @@ void FrameworkHelper::HandleModeChangeSlot ( sRequestedView = FrameworkHelper::msHandoutViewURL; break; - case SID_SLIDE_SORTER_MULTI_PANE_GUI: + case SID_JOCKEYMODE: + sRequestedView = FrameworkHelper::msJockeySorterURL; + break; + case SID_DIAMODE: + case SID_SLIDE_SORTER_MULTI_PANE_GUI: sRequestedView = FrameworkHelper::msSlideSorterURL; break; @@ -716,9 +660,6 @@ void FrameworkHelper::HandleModeChangeSlot ( } } - - - void FrameworkHelper::RunOnConfigurationEvent( const OUString& rsEventType, const Callback& rCallback) @@ -729,9 +670,6 @@ void FrameworkHelper::RunOnConfigurationEvent( rCallback); } - - - void FrameworkHelper::RunOnResourceActivation( const css::uno::Reference<css::drawing::framework::XResourceId>& rxResourceId, const Callback& rCallback) @@ -750,9 +688,6 @@ void FrameworkHelper::RunOnResourceActivation( } } - - - /** A callback that sets a flag to a specified value when the callback is called. */ @@ -765,9 +700,6 @@ private: bool& mrFlag; }; - - - void FrameworkHelper::RequestSynchronousUpdate (void) { rtl::Reference<ConfigurationController> pCC ( @@ -776,9 +708,6 @@ void FrameworkHelper::RequestSynchronousUpdate (void) pCC->RequestSynchronousUpdate(); } - - - void FrameworkHelper::WaitForEvent (const OUString& rsEventType) const { bool bConfigurationUpdateSeen (false); @@ -801,17 +730,11 @@ void FrameworkHelper::WaitForEvent (const OUString& rsEventType) const } } - - - void FrameworkHelper::WaitForUpdate (void) const { WaitForEvent(msConfigurationUpdateEndEvent); } - - - void FrameworkHelper::RunOnEvent( const OUString& rsEventType, const ConfigurationChangeEventFilter& rFilter, @@ -820,18 +743,12 @@ void FrameworkHelper::RunOnEvent( new CallbackCaller(mrBase,rsEventType,rFilter,rCallback); } - - - void FrameworkHelper::disposing (const lang::EventObject& rEventObject) { if (rEventObject.Source == mxConfigurationController) mxConfigurationController = NULL; } - - - void FrameworkHelper::UpdateConfiguration (void) { if (mxConfigurationController.is()) @@ -852,9 +769,6 @@ void FrameworkHelper::UpdateConfiguration (void) } } - - - OUString FrameworkHelper::ResourceIdToString (const Reference<XResourceId>& rxResourceId) { OUString sString; @@ -874,17 +788,11 @@ OUString FrameworkHelper::ResourceIdToString (const Reference<XResourceId>& rxRe return sString; } - - - Reference<XResourceId> FrameworkHelper::CreateResourceId (const OUString& rsResourceURL) { return new ::sd::framework::ResourceId(rsResourceURL); } - - - Reference<XResourceId> FrameworkHelper::CreateResourceId ( const OUString& rsResourceURL, const OUString& rsAnchorURL) @@ -892,9 +800,6 @@ Reference<XResourceId> FrameworkHelper::CreateResourceId ( return new ::sd::framework::ResourceId(rsResourceURL, rsAnchorURL); } - - - Reference<XResourceId> FrameworkHelper::CreateResourceId ( const OUString& rsResourceURL, const OUString& rsFirstAnchorURL, @@ -906,9 +811,6 @@ Reference<XResourceId> FrameworkHelper::CreateResourceId ( return new ::sd::framework::ResourceId(rsResourceURL, aAnchorURLs); } - - - Reference<XResourceId> FrameworkHelper::CreateResourceId ( const OUString& rsResourceURL, const Reference<XResourceId>& rxAnchorId) @@ -922,17 +824,11 @@ Reference<XResourceId> FrameworkHelper::CreateResourceId ( return new ::sd::framework::ResourceId(rsResourceURL); } - - - Reference<XConfigurationController> FrameworkHelper::GetConfigurationController (void) const { return mxConfigurationController; } - - - //----- FrameworkHelper::DisposeListener -------------------------------------- FrameworkHelper::DisposeListener::DisposeListener ( @@ -945,16 +841,10 @@ FrameworkHelper::DisposeListener::DisposeListener ( xComponent->addEventListener(this); } - - - FrameworkHelper::DisposeListener::~DisposeListener (void) { } - - - void SAL_CALL FrameworkHelper::DisposeListener::disposing (void) { Reference<XComponent> xComponent (mpHelper->mxConfigurationController, UNO_QUERY); @@ -964,9 +854,6 @@ void SAL_CALL FrameworkHelper::DisposeListener::disposing (void) mpHelper.reset(); } - - - void SAL_CALL FrameworkHelper::DisposeListener::disposing (const lang::EventObject& rEventObject) throw(RuntimeException) { @@ -974,9 +861,6 @@ void SAL_CALL FrameworkHelper::DisposeListener::disposing (const lang::EventObje mpHelper->disposing(rEventObject); } - - - //===== FrameworkHelperResourceIdFilter ======================================= FrameworkHelperResourceIdFilter::FrameworkHelperResourceIdFilter ( @@ -985,7 +869,6 @@ FrameworkHelperResourceIdFilter::FrameworkHelperResourceIdFilter ( { } - } } // end of namespace sd::framework namespace { @@ -1030,16 +913,10 @@ CallbackCaller::CallbackCaller ( } } - - - CallbackCaller::~CallbackCaller (void) { } - - - void CallbackCaller::disposing (void) { try @@ -1057,9 +934,6 @@ void CallbackCaller::disposing (void) } } - - - void SAL_CALL CallbackCaller::disposing (const lang::EventObject& rEvent) throw (RuntimeException) { @@ -1070,9 +944,6 @@ void SAL_CALL CallbackCaller::disposing (const lang::EventObject& rEvent) } } - - - void SAL_CALL CallbackCaller::notifyConfigurationChange ( const ConfigurationChangeEvent& rEvent) throw (RuntimeException) @@ -1094,9 +965,6 @@ void SAL_CALL CallbackCaller::notifyConfigurationChange ( } } - - - //----- LifetimeController ------------------------------------------------- LifetimeController::LifetimeController (::sd::ViewShellBase& rBase) @@ -1122,24 +990,15 @@ LifetimeController::LifetimeController (::sd::ViewShellBase& rBase) } } - - - LifetimeController::~LifetimeController (void) { OSL_ASSERT(!mbListeningToController && !mbListeningToViewShellBase); } - - - void LifetimeController::disposing (void) { } - - - void SAL_CALL LifetimeController::disposing (const lang::EventObject& rEvent) throw(RuntimeException) { @@ -1148,9 +1007,6 @@ void SAL_CALL LifetimeController::disposing (const lang::EventObject& rEvent) Update(); } - - - void LifetimeController::Notify (SfxBroadcaster& rBroadcaster, const SfxHint& rHint) { (void)rBroadcaster; @@ -1163,9 +1019,6 @@ void LifetimeController::Notify (SfxBroadcaster& rBroadcaster, const SfxHint& rH } } - - - void LifetimeController::Update (void) { if (mbListeningToViewShellBase && mbListeningToController) @@ -1189,8 +1042,6 @@ void LifetimeController::Update (void) } } - - } // end of anonymous namespace. /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/func/fusearch.cxx b/sd/source/ui/func/fusearch.cxx index 2509c7500f3e..4cd479ee768e 100644 --- a/sd/source/ui/func/fusearch.cxx +++ b/sd/source/ui/func/fusearch.cxx @@ -44,6 +44,7 @@ static sal_uInt16 SidArraySpell[] = { SID_DRAWINGMODE, SID_OUTLINEMODE, SID_DIAMODE, + SID_JOCKEYMODE, SID_NOTESMODE, SID_HANDOUTMODE, 0 }; diff --git a/sd/source/ui/inc/SlideSorterViewShell.hxx b/sd/source/ui/inc/SlideSorterViewShell.hxx index 4f72343f430f..656622ffd1ba 100644 --- a/sd/source/ui/inc/SlideSorterViewShell.hxx +++ b/sd/source/ui/inc/SlideSorterViewShell.hxx @@ -186,7 +186,7 @@ protected: */ virtual ::svl::IUndoManager* ImpGetUndoManager (void) const; -private: +protected: ::boost::shared_ptr<SlideSorter> mpSlideSorter; bool mbIsArrangeGUIElementsPending; @@ -206,6 +206,32 @@ private: typedef ::boost::shared_ptr<SlideSorterViewShell::PageSelection> SharedPageSelection; +/// Slide jockey mode - for rapid construction and editing of slide decks +class SlideJockeyViewShell + : public SlideSorterViewShell +{ + friend class controller::SlotManager; + +public: + TYPEINFO(); + SFX_DECL_INTERFACE(SD_IF_SDSLIDEJOCKEYVIEWSHELL) + + static ::boost::shared_ptr<SlideJockeyViewShell> Create( + SfxViewFrame* pFrame, + ViewShellBase& rViewShellBase, + ::Window* pParentWindow, + FrameView* pFrameView, + const bool bIsCenterPane); + +private: + SlideJockeyViewShell ( + SfxViewFrame* pFrame, + ViewShellBase& rViewShellBase, + ::Window* pParentWindow, + FrameView* pFrameView); +}; + + } } // end of namespace ::sd::slidesorter #endif diff --git a/sd/source/ui/inc/SlideSorterViewShellBase.hxx b/sd/source/ui/inc/SlideSorterViewShellBase.hxx index 78535af7e2d4..a318f44b42c9 100644 --- a/sd/source/ui/inc/SlideSorterViewShellBase.hxx +++ b/sd/source/ui/inc/SlideSorterViewShellBase.hxx @@ -22,11 +22,10 @@ #include "ImpressViewShellBase.hxx" - namespace sd { -/** This class exists to be able to register a factory that creates a - slide sorter view shell as default. +/** This class exists to be able to register a factory that + creates a slide sorter view shell as default. */ class SlideSorterViewShellBase : public ImpressViewShellBase @@ -38,8 +37,27 @@ public: /** This constructor is used by the view factory of the SFX macros. */ - SlideSorterViewShellBase (SfxViewFrame *pFrame, SfxViewShell* pOldShell); - virtual ~SlideSorterViewShellBase (void); + SlideSorterViewShellBase (SfxViewFrame *_pFrame, SfxViewShell *_pOldShell) + : ImpressViewShellBase (_pFrame, _pOldShell) {} + virtual ~SlideSorterViewShellBase (void) {} +}; + +/** This class exists to be able to register a factory that + creates a slide jockey view shell as default. +*/ +class SlideJockeyViewShellBase + : public ImpressViewShellBase +{ +public: + TYPEINFO(); + SFX_DECL_VIEWFACTORY(SlideJockeyViewShellBase); + + /** This constructor is used by the view factory of the SFX + macros. + */ + SlideJockeyViewShellBase (SfxViewFrame *_pFrame, SfxViewShell *_pOldShell) + : ImpressViewShellBase (_pFrame, _pOldShell) {} + virtual ~SlideJockeyViewShellBase (void) {} }; } // end of namespace sd diff --git a/sd/source/ui/inc/ViewShell.hxx b/sd/source/ui/inc/ViewShell.hxx index 60ccfca78b68..67c7e8a552ec 100644 --- a/sd/source/ui/inc/ViewShell.hxx +++ b/sd/source/ui/inc/ViewShell.hxx @@ -92,6 +92,7 @@ public: ST_HANDOUT, ST_OUTLINE, ST_SLIDE_SORTER, + ST_JOCKEY_SORTER, ST_PRESENTATION, ST_TASK_PANE }; diff --git a/sd/source/ui/inc/framework/FrameworkHelper.hxx b/sd/source/ui/inc/framework/FrameworkHelper.hxx index 1b81f6870a74..c235145fb523 100644 --- a/sd/source/ui/inc/framework/FrameworkHelper.hxx +++ b/sd/source/ui/inc/framework/FrameworkHelper.hxx @@ -73,6 +73,7 @@ public: static const OUString msNotesViewURL; static const OUString msHandoutViewURL; static const OUString msSlideSorterURL; + static const OUString msJockeySorterURL; static const OUString msPresentationViewURL; static const OUString msTaskPaneURL; diff --git a/sd/source/ui/inc/strings.hrc b/sd/source/ui/inc/strings.hrc index 98250a92fc49..15fa00a68980 100644 --- a/sd/source/ui/inc/strings.hrc +++ b/sd/source/ui/inc/strings.hrc @@ -75,6 +75,7 @@ #define STR_SLIDE_MODE (RID_APP_START+121) #define STR_DRAW_MODE (RID_APP_START+122) #define STR_OUTLINE_MODE (RID_APP_START+123) +#define STR_JOCKEY_MODE (RID_APP_START+124) #define STR_UNDO_BEZCLOSE (RID_APP_START+127) diff --git a/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx b/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx index bdf802bcacb6..39a66c33d287 100644 --- a/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx +++ b/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx @@ -369,6 +369,7 @@ void SlotManager::FuSupport (SfxRequest& rRequest) case SID_NOTESMODE: case SID_HANDOUTMODE: case SID_DIAMODE: + case SID_JOCKEYMODE: case SID_OUTLINEMODE: { ViewShellBase* pBase = mrSlideSorter.GetViewShellBase(); @@ -523,6 +524,7 @@ void SlotManager::GetMenuState (SfxItemSet& rSet) } rSet.Put( SfxBoolItem( SID_DRAWINGMODE, sal_False ) ); rSet.Put( SfxBoolItem( SID_DIAMODE, sal_True ) ); + rSet.Put( SfxBoolItem( SID_JOCKEYMODE, sal_True ) ); rSet.Put( SfxBoolItem( SID_OUTLINEMODE, sal_False ) ); rSet.Put( SfxBoolItem( SID_NOTESMODE, sal_False ) ); rSet.Put( SfxBoolItem( SID_HANDOUTMODE, sal_False ) ); diff --git a/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx b/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx index 91dadc05807c..d2e3ce755144 100644 --- a/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx +++ b/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx @@ -17,7 +17,6 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ - #include "SlideSorterViewShell.hxx" #include "ViewShellImplementation.hxx" @@ -65,6 +64,7 @@ using namespace ::sd::slidesorter; #define SlideSorterViewShell +#define SlideJockeyViewShell #include "sdslots.hxx" using namespace ::com::sun::star; @@ -75,17 +75,12 @@ using ::sd::framework::FrameworkHelper; namespace sd { namespace slidesorter { - SFX_IMPL_INTERFACE(SlideSorterViewShell, SfxShell, SdResId(STR_SLIDESORTERVIEWSHELL)) { } - - TYPEINIT1(SlideSorterViewShell, ViewShell); - - ::boost::shared_ptr<SlideSorterViewShell> SlideSorterViewShell::Create ( SfxViewFrame* pFrame, ViewShellBase& rViewShellBase, @@ -111,9 +106,6 @@ TYPEINIT1(SlideSorterViewShell, ViewShell); return pViewShell; } - - - SlideSorterViewShell::SlideSorterViewShell ( SfxViewFrame* pFrame, ViewShellBase& rViewShellBase, @@ -136,9 +128,6 @@ SlideSorterViewShell::SlideSorterViewShell ( pParentWindow->SetStyle(pParentWindow->GetStyle() | WB_DIALOGCONTROL); } - - - SlideSorterViewShell::~SlideSorterViewShell (void) { DisposeFunctions(); @@ -163,10 +152,6 @@ SlideSorterViewShell::~SlideSorterViewShell (void) GetFrameView()->Disconnect(); } - - - - void SlideSorterViewShell::Initialize (void) { mpSlideSorter = SlideSorter::CreateSlideSorter( @@ -195,9 +180,6 @@ void SlideSorterViewShell::Initialize (void) } } - - - void SlideSorterViewShell::Init (bool bIsMainViewShell) { ViewShell::Init(bIsMainViewShell); @@ -208,9 +190,6 @@ void SlideSorterViewShell::Init (bool bIsMainViewShell) mpContentWindow->SetViewShell(this); } - - - SlideSorterViewShell* SlideSorterViewShell::GetSlideSorter (ViewShellBase& rBase) { SlideSorterViewShell* pViewShell = NULL; @@ -239,9 +218,6 @@ SlideSorterViewShell* SlideSorterViewShell::GetSlideSorter (ViewShellBase& rBase return pViewShell; } - - - Reference<drawing::XDrawSubController> SlideSorterViewShell::CreateSubController (void) { Reference<drawing::XDrawSubController> xSubController; @@ -257,9 +233,6 @@ Reference<drawing::XDrawSubController> SlideSorterViewShell::CreateSubController return xSubController; } - - - /** If there is a valid controller then create a new instance of <type>AccessibleSlideSorterView</type>. Otherwise delegate this call to the base class to return a default object (probably an empty @@ -289,18 +262,12 @@ Reference<drawing::XDrawSubController> SlideSorterViewShell::CreateSubController return xRet; } - - - SlideSorter& SlideSorterViewShell::GetSlideSorter (void) const { OSL_ASSERT(mpSlideSorter.get()!=NULL); return *mpSlideSorter; } - - - bool SlideSorterViewShell::RelocateToParentWindow (::Window* pParentWindow) { OSL_ASSERT(mpSlideSorter); @@ -316,9 +283,6 @@ bool SlideSorterViewShell::RelocateToParentWindow (::Window* pParentWindow) return bSuccess; } - - - ::svl::IUndoManager* SlideSorterViewShell::ImpGetUndoManager (void) const { SfxShell* pObjectBar = GetViewShellBase().GetViewShellManager()->GetTopShell(); @@ -337,27 +301,18 @@ bool SlideSorterViewShell::RelocateToParentWindow (::Window* pParentWindow) } } - - - void SlideSorterViewShell::GetFocus (void) { OSL_ASSERT(mpSlideSorter.get()!=NULL); mpSlideSorter->GetController().GetFocusManager().ShowFocus(); } - - - void SlideSorterViewShell::LoseFocus (void) { OSL_ASSERT(mpSlideSorter.get()!=NULL); mpSlideSorter->GetController().GetFocusManager().HideFocus(); } - - - SdPage* SlideSorterViewShell::getCurrentPage(void) const { // since SlideSorterViewShell::GetActualPage() currently also @@ -366,9 +321,6 @@ SdPage* SlideSorterViewShell::getCurrentPage(void) const return const_cast<SlideSorterViewShell*>(this)->GetActualPage(); } - - - SdPage* SlideSorterViewShell::GetActualPage (void) { SdPage* pCurrentPage = NULL; @@ -398,9 +350,6 @@ SdPage* SlideSorterViewShell::GetActualPage (void) return pCurrentPage; } - - - void SlideSorterViewShell::GetMenuState ( SfxItemSet& rSet) { ViewShell::GetMenuState(rSet); @@ -408,9 +357,6 @@ void SlideSorterViewShell::GetMenuState ( SfxItemSet& rSet) mpSlideSorter->GetController().GetSlotManager()->GetMenuState(rSet); } - - - void SlideSorterViewShell::GetClipboardState ( SfxItemSet& rSet) { ViewShell::GetMenuState(rSet); @@ -418,36 +364,24 @@ void SlideSorterViewShell::GetClipboardState ( SfxItemSet& rSet) mpSlideSorter->GetController().GetSlotManager()->GetClipboardState(rSet); } - - - void SlideSorterViewShell::ExecCtrl (SfxRequest& rRequest) { OSL_ASSERT(mpSlideSorter.get()!=NULL); mpSlideSorter->GetController().ExecCtrl(rRequest); } - - - void SlideSorterViewShell::GetCtrlState (SfxItemSet& rSet) { OSL_ASSERT(mpSlideSorter.get()!=NULL); mpSlideSorter->GetController().GetCtrlState(rSet); } - - - void SlideSorterViewShell::FuSupport (SfxRequest& rRequest) { OSL_ASSERT(mpSlideSorter.get()!=NULL); mpSlideSorter->GetController().FuSupport(rRequest); } - - - /** We have to handle those slot calls here that need to have access to private or protected members and methods of this class. */ @@ -475,45 +409,30 @@ void SlideSorterViewShell::FuTemporary (SfxRequest& rRequest) } } - - - void SlideSorterViewShell::GetStatusBarState (SfxItemSet& rSet) { OSL_ASSERT(mpSlideSorter.get()!=NULL); mpSlideSorter->GetController().GetStatusBarState(rSet); } - - - void SlideSorterViewShell::FuPermanent (SfxRequest& rRequest) { OSL_ASSERT(mpSlideSorter.get()!=NULL); mpSlideSorter->GetController().FuPermanent(rRequest); } - - - void SlideSorterViewShell::GetAttrState (SfxItemSet& rSet) { OSL_ASSERT(mpSlideSorter.get()!=NULL); mpSlideSorter->GetController().GetAttrState(rSet); } - - - void SlideSorterViewShell::ExecStatusBar (SfxRequest& rRequest) { OSL_ASSERT(mpSlideSorter.get()!=NULL); mpSlideSorter->GetController().ExecStatusBar(rRequest); } - - - void SlideSorterViewShell::Paint ( const Rectangle& rBBox, ::sd::Window* pWindow) @@ -524,9 +443,6 @@ void SlideSorterViewShell::Paint ( mpSlideSorter->GetController().Paint(rBBox,pWindow); } - - - void SlideSorterViewShell::ArrangeGUIElements (void) { if (IsActive()) @@ -539,9 +455,6 @@ void SlideSorterViewShell::ArrangeGUIElements (void) mbIsArrangeGUIElementsPending = true; } - - - void SlideSorterViewShell::Activate (sal_Bool bIsMDIActivate) { ViewShell::Activate(bIsMDIActivate); @@ -549,18 +462,12 @@ void SlideSorterViewShell::Activate (sal_Bool bIsMDIActivate) ArrangeGUIElements(); } - - - SvBorder SlideSorterViewShell::GetBorder (bool ) { OSL_ASSERT(mpSlideSorter.get()!=NULL); return mpSlideSorter->GetBorder(); } - - - void SlideSorterViewShell::Command ( const CommandEvent& rEvent, ::sd::Window* pWindow) @@ -570,9 +477,6 @@ void SlideSorterViewShell::Command ( ViewShell::Command (rEvent, pWindow); } - - - void SlideSorterViewShell::ReadFrameViewData (FrameView* pFrameView) { OSL_ASSERT(mpSlideSorter.get()!=NULL); @@ -609,9 +513,6 @@ void SlideSorterViewShell::ReadFrameViewData (FrameView* pFrameView) } } - - - void SlideSorterViewShell::WriteFrameViewData (void) { OSL_ASSERT(mpSlideSorter.get()!=NULL); @@ -643,9 +544,6 @@ void SlideSorterViewShell::WriteFrameViewData (void) } } - - - void SlideSorterViewShell::SetZoom (long int ) { // Ignored. @@ -653,9 +551,6 @@ void SlideSorterViewShell::SetZoom (long int ) // the window. } - - - void SlideSorterViewShell::SetZoomRect (const Rectangle& rZoomRect) { OSL_ASSERT(mpSlideSorter.get()!=NULL); @@ -695,9 +590,6 @@ void SlideSorterViewShell::SetZoomRect (const Rectangle& rZoomRect) GetViewFrame()->GetBindings().Invalidate( SID_ATTR_ZOOMSLIDER ); } - - - void SlideSorterViewShell::UpdateScrollBars (void) { // Do not call the overwritten method of the base class: We do all the @@ -705,9 +597,6 @@ void SlideSorterViewShell::UpdateScrollBars (void) mpSlideSorter->GetController().GetScrollBarManager().UpdateScrollBars (false); } - - - void SlideSorterViewShell::StartDrag ( const Point& rDragPt, ::Window* pWindow ) @@ -718,9 +607,6 @@ void SlideSorterViewShell::StartDrag ( pWindow); } - - - void SlideSorterViewShell::DragFinished ( sal_Int8 nDropAction) { @@ -728,9 +614,6 @@ void SlideSorterViewShell::DragFinished ( mpSlideSorter->GetController().GetClipboard().DragFinished (nDropAction); } - - - sal_Int8 SlideSorterViewShell::AcceptDrop ( const AcceptDropEvent& rEvt, DropTargetHelper& rTargetHelper, @@ -747,9 +630,6 @@ sal_Int8 SlideSorterViewShell::AcceptDrop ( nLayer); } - - - sal_Int8 SlideSorterViewShell::ExecuteDrop ( const ExecuteDropEvent& rEvt, DropTargetHelper& rTargetHelper, @@ -766,9 +646,6 @@ sal_Int8 SlideSorterViewShell::ExecuteDrop ( nLayer); } - - - ::boost::shared_ptr<SlideSorterViewShell::PageSelection> SlideSorterViewShell::GetPageSelection (void) const { @@ -776,9 +653,6 @@ sal_Int8 SlideSorterViewShell::ExecuteDrop ( return mpSlideSorter->GetController().GetPageSelector().GetPageSelection(); } - - - void SlideSorterViewShell::SetPageSelection ( const ::boost::shared_ptr<PageSelection>& rSelection) { @@ -786,9 +660,6 @@ void SlideSorterViewShell::SetPageSelection ( mpSlideSorter->GetController().GetPageSelector().SetPageSelection(rSelection); } - - - void SlideSorterViewShell::AddSelectionChangeListener ( const Link& rCallback) { @@ -796,9 +667,6 @@ void SlideSorterViewShell::AddSelectionChangeListener ( mpSlideSorter->GetController().GetSelectionManager()->AddSelectionChangeListener(rCallback); } - - - void SlideSorterViewShell::RemoveSelectionChangeListener ( const Link& rCallback) { @@ -806,7 +674,49 @@ void SlideSorterViewShell::RemoveSelectionChangeListener ( mpSlideSorter->GetController().GetSelectionManager()->RemoveSelectionChangeListener(rCallback); } +// ---------------------------- Slide Jockey ---------------------------- + +SFX_IMPL_INTERFACE(SlideJockeyViewShell, SfxShell, SdResId(STR_SLIDEJOCKEYVIEWSHELL)) +{ +} + +TYPEINIT1(SlideJockeyViewShell, ViewShell); + +SlideJockeyViewShell::SlideJockeyViewShell ( SfxViewFrame* _pFrame, + ViewShellBase& _rViewShellBase, + ::Window* _pParentWindow, + FrameView* _pFrameView ) : + SlideSorterViewShell( _pFrame, _rViewShellBase, _pParentWindow, _pFrameView ) +{ + fprintf( stderr, "Create slide jockey\n" ); + meShellType = ST_JOCKEY_SORTER; + SetName (OUString("SlideJockeyViewShell")); +} + +::boost::shared_ptr<SlideJockeyViewShell> SlideJockeyViewShell::Create ( + SfxViewFrame* pFrame, + ViewShellBase& rViewShellBase, + ::Window* pParentWindow, + FrameView* pFrameViewArgument, + const bool bIsCenterPane) +{ + (void)bIsCenterPane; + ::boost::shared_ptr<SlideJockeyViewShell> pViewShell; + try + { + pViewShell.reset( + new SlideJockeyViewShell(pFrame,rViewShellBase,pParentWindow,pFrameViewArgument)); + pViewShell->Initialize(); + if (pViewShell->mpSlideSorter.get() == NULL) + pViewShell.reset(); + } + catch(Exception&) + { + pViewShell.reset(); + } + return pViewShell; +} } } // end of namespace ::sd::slidesorter diff --git a/sd/source/ui/slidesorter/view/SlideSorterView.cxx b/sd/source/ui/slidesorter/view/SlideSorterView.cxx index 5186521bf6b4..622f96d27876 100644 --- a/sd/source/ui/slidesorter/view/SlideSorterView.cxx +++ b/sd/source/ui/slidesorter/view/SlideSorterView.cxx @@ -18,6 +18,7 @@ */ +#include "slidehack.hxx" #include "view/SlideSorterView.hxx" #include "ViewShellBase.hxx" diff --git a/sd/source/ui/toolpanel/LayoutMenu.cxx b/sd/source/ui/toolpanel/LayoutMenu.cxx index 8f444a355c6b..454525e0e4a0 100644 --- a/sd/source/ui/toolpanel/LayoutMenu.cxx +++ b/sd/source/ui/toolpanel/LayoutMenu.cxx @@ -405,6 +405,7 @@ void LayoutMenu::UpdateEnabledState (const MasterMode eMode) case ViewShell::ST_HANDOUT: case ViewShell::ST_NOTES: case ViewShell::ST_SLIDE_SORTER: + case ViewShell::ST_JOCKEY_SORTER: default: bIsEnabled = true; break; @@ -668,6 +669,7 @@ void LayoutMenu::AssignLayoutToSelectedSlides (AutoLayout aLayout) case ViewShell::ST_IMPRESS: case ViewShell::ST_NOTES: case ViewShell::ST_SLIDE_SORTER: + case ViewShell::ST_JOCKEY_SORTER: pSlideSorter = SlideSorterViewShell::GetSlideSorter(mrBase); break; default: diff --git a/sd/source/ui/view/FormShellManager.cxx b/sd/source/ui/view/FormShellManager.cxx index 91627e039a1e..a931e2612b15 100644 --- a/sd/source/ui/view/FormShellManager.cxx +++ b/sd/source/ui/view/FormShellManager.cxx @@ -153,7 +153,8 @@ void FormShellManager::RegisterAtCenterPane (void) // No form shell for the slide sorter. Besides that it is not // necessary, using both together results in crashes. - if (pShell->GetShellType() == ViewShell::ST_SLIDE_SORTER) + if (pShell->GetShellType() == ViewShell::ST_SLIDE_SORTER && + pShell->GetShellType() == ViewShell::ST_JOCKEY_SORTER) return; mpMainViewShellWindow = pShell->GetActiveWindow(); diff --git a/sd/source/ui/view/SlideSorterViewShellBase.cxx b/sd/source/ui/view/SlideSorterViewShellBase.cxx index 74bfa2f45441..a74298af2662 100644 --- a/sd/source/ui/view/SlideSorterViewShellBase.cxx +++ b/sd/source/ui/view/SlideSorterViewShellBase.cxx @@ -17,7 +17,6 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ - #include "SlideSorterViewShellBase.hxx" #include "sdresid.hxx" #include "DrawDocShell.hxx" @@ -34,6 +33,7 @@ TYPEINIT1(SlideSorterViewShellBase, ViewShellBase); // new SlideSorterViewShellBase object has been constructed. SfxViewFactory* SlideSorterViewShellBase::pFactory; + SfxViewShell* SlideSorterViewShellBase::CreateInstance ( SfxViewFrame *pFrame, SfxViewShell *pOldView) { @@ -42,45 +42,33 @@ SfxViewShell* SlideSorterViewShellBase::CreateInstance ( return pBase; } - - - void SlideSorterViewShellBase::RegisterFactory( sal_uInt16 nPrio ) { pFactory = new SfxViewFactory(&CreateInstance,nPrio,"SlideSorter"); InitFactory(); } +void SlideSorterViewShellBase::InitFactory() { SFX_VIEW_REGISTRATION(DrawDocShell); } +TYPEINIT1(SlideJockeyViewShellBase, ViewShellBase); +SfxViewFactory* SlideJockeyViewShellBase::pFactory; -void SlideSorterViewShellBase::InitFactory() -{ - SFX_VIEW_REGISTRATION(DrawDocShell); -} - - - - - - - -SlideSorterViewShellBase::SlideSorterViewShellBase ( - SfxViewFrame* _pFrame, - SfxViewShell* pOldShell) - : ImpressViewShellBase (_pFrame, pOldShell) +SfxViewShell* SlideJockeyViewShellBase::CreateInstance ( + SfxViewFrame *pFrame, SfxViewShell *pOldView) { + SlideJockeyViewShellBase* pBase = new SlideJockeyViewShellBase(pFrame, pOldView); + pBase->LateInit(framework::FrameworkHelper::msJockeySorterURL); + return pBase; } - - - -SlideSorterViewShellBase::~SlideSorterViewShellBase (void) +void SlideJockeyViewShellBase::RegisterFactory( sal_uInt16 nPrio ) { + pFactory = new SfxViewFactory(&CreateInstance,nPrio,"SlideJockey"); + InitFactory(); } - - +void SlideJockeyViewShellBase::InitFactory() { SFX_VIEW_REGISTRATION(DrawDocShell); } } // end of namespace sd diff --git a/sd/source/ui/view/ToolBarManager.cxx b/sd/source/ui/view/ToolBarManager.cxx index bb427ce30c74..92b970e59bf8 100644 --- a/sd/source/ui/view/ToolBarManager.cxx +++ b/sd/source/ui/view/ToolBarManager.cxx @@ -1186,6 +1186,7 @@ void ToolBarRules::MainViewShellChanged (ViewShell::ShellType nShellType) break; case ViewShell::ST_SLIDE_SORTER: + case ViewShell::ST_JOCKEY_SORTER: mpToolBarManager->AddToolBar( ToolBarManager::TBG_PERMANENT, ToolBarManager::msViewerToolBar); diff --git a/sd/source/ui/view/ViewShellImplementation.cxx b/sd/source/ui/view/ViewShellImplementation.cxx index cea72846ce1d..6f88c4a193b7 100644 --- a/sd/source/ui/view/ViewShellImplementation.cxx +++ b/sd/source/ui/view/ViewShellImplementation.cxx @@ -325,6 +325,9 @@ sal_uInt16 ViewShell::Implementation::GetViewId (void) case ViewShell::ST_SLIDE_SORTER: return SLIDE_SORTER_FACTORY_ID; + case ViewShell::ST_JOCKEY_SORTER: + return SLIDE_JOCKEY_FACTORY_ID; + case ViewShell::ST_PRESENTATION: return PRESENTATION_FACTORY_ID; diff --git a/sd/source/ui/view/drviews7.cxx b/sd/source/ui/view/drviews7.cxx index d3651b09568e..27d6cf5d3be6 100644 --- a/sd/source/ui/view/drviews7.cxx +++ b/sd/source/ui/view/drviews7.cxx @@ -1587,6 +1587,7 @@ void DrawViewShell::GetModeSwitchingMenuState (SfxItemSet &rSet) //draview rSet.Put(SfxBoolItem(SID_DIAMODE, sal_False)); rSet.Put(SfxBoolItem(SID_OUTLINEMODE, sal_False)); + rSet.Put(SfxBoolItem(SID_JOCKEYMODE, sal_False)); if (mePageKind == PK_NOTES) { rSet.Put(SfxBoolItem(SID_DRAWINGMODE, sal_False)); @@ -1631,6 +1632,9 @@ void DrawViewShell::GetModeSwitchingMenuState (SfxItemSet &rSet) rSet.ClearItem( SID_DIAMODE ); rSet.DisableItem( SID_DIAMODE ); + + rSet.ClearItem( SID_JOCKEYMODE ); + rSet.DisableItem( SID_JOCKEYMODE ); } if (GetDocSh()->GetCreateMode() == SFX_CREATE_MODE_EMBEDDED) @@ -1647,6 +1651,9 @@ void DrawViewShell::GetModeSwitchingMenuState (SfxItemSet &rSet) rSet.ClearItem( SID_HANDOUTMODE ); rSet.DisableItem( SID_HANDOUTMODE ); + + rSet.ClearItem( SID_JOCKEYMODE ); + rSet.DisableItem( SID_JOCKEYMODE ); } svx::ExtrusionBar::getState( mpDrawView, rSet ); diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx index 02d9cbecc531..3e8213004acd 100644 --- a/sd/source/ui/view/drviewse.cxx +++ b/sd/source/ui/view/drviewse.cxx @@ -887,6 +887,7 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) case SID_DRAWINGMODE: case SID_DIAMODE: + case SID_JOCKEYMODE: case SID_OUTLINEMODE: // Let the sub-shell manager handle the slot handling. framework::FrameworkHelper::Instance(GetViewShellBase())->HandleModeChangeSlot( diff --git a/sd/source/ui/view/frmview.cxx b/sd/source/ui/view/frmview.cxx index 5e7a88b59a3a..506f50d39638 100644 --- a/sd/source/ui/view/frmview.cxx +++ b/sd/source/ui/view/frmview.cxx @@ -112,6 +112,7 @@ FrameView::FrameView(SdDrawDocument* pDrawDoc, FrameView* pFrameView /* = NULK * break; case ViewShell::ST_SLIDE_SORTER: + case ViewShell::ST_JOCKEY_SORTER: mnPresViewShellId = SID_VIEWSHELL1; break; diff --git a/sd/source/ui/view/outlnvsh.cxx b/sd/source/ui/view/outlnvsh.cxx index 595886d3b07d..f3ddcd0b99cc 100644 --- a/sd/source/ui/view/outlnvsh.cxx +++ b/sd/source/ui/view/outlnvsh.cxx @@ -548,6 +548,7 @@ void OutlineViewShell::FuSupport(SfxRequest &rReq) case SID_NOTESMODE: case SID_HANDOUTMODE: case SID_DIAMODE: + case SID_JOCKEYMODE: case SID_OUTLINEMODE: framework::FrameworkHelper::Instance(GetViewShellBase())->HandleModeChangeSlot( nSlot, diff --git a/sd/uiconfig/simpress/menubar/menubar.xml b/sd/uiconfig/simpress/menubar/menubar.xml index fc8047cc6171..7fc8dce5f86d 100644 --- a/sd/uiconfig/simpress/menubar/menubar.xml +++ b/sd/uiconfig/simpress/menubar/menubar.xml @@ -93,6 +93,7 @@ <menu:menuitem menu:id=".uno:NormalMultiPaneGUI" menu:style="radio"/> <menu:menuitem menu:id=".uno:OutlineMode" menu:style="radio"/> <menu:menuitem menu:id=".uno:DiaMode" menu:style="radio"/> + <menu:menuitem menu:id=".uno:JockeyMode" menu:style="radio"/> <menu:menuitem menu:id=".uno:Presentation" menu:style="radio"/> <menu:menuitem menu:id=".uno:NotesMode" menu:style="radio"/> <menu:menuitem menu:id=".uno:HandoutMode" menu:style="radio"/> |