[Libreoffice-commits] core.git: Branch 'feature/slidehack' - 2 commits - officecfg/registry sd/inc sd/sdi sd/source sd/uiconfig

Michael Meeks michael.meeks at suse.com
Tue Apr 9 07:15:55 PDT 2013


 officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu |    5 
 officecfg/registry/schema/org/openoffice/Office/Impress.xcs              |    2 
 sd/inc/FactoryIds.hxx                                                    |    3 
 sd/inc/app.hrc                                                           |    1 
 sd/inc/glob.hrc                                                          |    1 
 sd/inc/glob.hxx                                                          |    1 
 sd/inc/sdcommands.h                                                      |    1 
 sd/sdi/SlideSorterController.sdi                                         |   12 
 sd/sdi/ViewShellBase.sdi                                                 |    5 
 sd/sdi/sdraw.sdi                                                         |   27 +
 sd/source/core/glob.src                                                  |    5 
 sd/source/ui/app/menuids_tmpl.src                                        |    9 
 sd/source/ui/app/popup.src                                               |    1 
 sd/source/ui/app/popup2_tmpl.src                                         |    1 
 sd/source/ui/app/sddll1.cxx                                              |    2 
 sd/source/ui/app/strings.src                                             |    4 
 sd/source/ui/framework/factories/BasicViewFactory.cxx                    |   24 -
 sd/source/ui/framework/module/SlideSorterModule.cxx                      |   34 +
 sd/source/ui/framework/tools/FrameworkHelper.cxx                         |  167 ---------
 sd/source/ui/func/fusearch.cxx                                           |    1 
 sd/source/ui/inc/SlideSorterViewShell.hxx                                |   28 +
 sd/source/ui/inc/SlideSorterViewShellBase.hxx                            |   28 +
 sd/source/ui/inc/ViewShell.hxx                                           |    1 
 sd/source/ui/inc/framework/FrameworkHelper.hxx                           |    1 
 sd/source/ui/inc/strings.hrc                                             |    1 
 sd/source/ui/slidesorter/controller/SlsSlotManager.cxx                   |    2 
 sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx                  |  176 ++--------
 sd/source/ui/slidesorter/view/SlideSorterView.cxx                        |    1 
 sd/source/ui/slidesorter/view/SlsLayeredDevice.cxx                       |   90 -----
 sd/source/ui/toolpanel/LayoutMenu.cxx                                    |    2 
 sd/source/ui/view/FormShellManager.cxx                                   |    3 
 sd/source/ui/view/SlideSorterViewShellBase.cxx                           |   38 --
 sd/source/ui/view/ToolBarManager.cxx                                     |    1 
 sd/source/ui/view/ViewShellImplementation.cxx                            |    3 
 sd/source/ui/view/drviews7.cxx                                           |    7 
 sd/source/ui/view/drviewse.cxx                                           |    1 
 sd/source/ui/view/frmview.cxx                                            |    1 
 sd/source/ui/view/outlnvsh.cxx                                           |    1 
 sd/uiconfig/simpress/menubar/menubar.xml                                 |    1 
 39 files changed, 259 insertions(+), 433 deletions(-)

New commits:
commit 24a519964c25583c6cb78584b928e2aea170ab75
Author: Michael Meeks <michael.meeks at suse.com>
Date:   Tue Apr 9 14:31:40 2013 +0100

    impress: wire up a new view - the slide jockey view.
    
    Change-Id: I9be6bf2a55f4e89d0cfb5ac426960d022ab2f490

diff --git a/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu
index 50afd03..00e5ed5 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 e84ba82..31f77d5 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 b14b02b..31f3c20 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 5dc3b3d..3fbf9cc 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 009b092..0a75591 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 a88c280..7324818 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 daecfe8..a366370 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 d1af8d0..253b893 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 79275aa..6dfaf86 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 83b4d04..1e83de0 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 91b47af..8146002 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 b28c018..d9e4e43 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 a57a110..b027026 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 2b2cbdc..79e3b40 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 5fecbce..b816bd3 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 17a07b9..a2c1fe5 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 927a261..e27ca0e 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 412a7c6..bc5e108 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 fb7fa1a..2539901 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 2509c75..4cd479e 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 4f72343..656622f 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 78535af..a318f44 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 60ccfca..67c7e8a 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 1b81f68..c235145 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 98250a9..15fa00a 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 bdf802b..39a66c3 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 91dadc0..d2e3ce7 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 5186521..622f96d 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 8f444a3..454525e 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 91627e0..a931e26 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 74bfa2f..a74298a 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 bb427ce..92b970e 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 cea7284..6f88c4a 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 d3651b0..27d6cf5 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 02d9cbe..3e82130 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 5e7a88b..506f50d 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 595886d..f3ddcd0 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 fc8047c..7fc8dce 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"/>
commit 79c6797c2e17cb4f417621e83a85b46af16f29ed
Author: Michael Meeks <michael.meeks at suse.com>
Date:   Tue Apr 9 13:56:50 2013 +0100

    remove dead code and vspace waste.
    
    Change-Id: I0aec25cd0de8f0f379c8910ca7ea275211602fcd

diff --git a/sd/source/ui/slidesorter/view/SlsLayeredDevice.cxx b/sd/source/ui/slidesorter/view/SlsLayeredDevice.cxx
index 6015259..781060e 100644
--- a/sd/source/ui/slidesorter/view/SlsLayeredDevice.cxx
+++ b/sd/source/ui/slidesorter/view/SlsLayeredDevice.cxx
@@ -75,7 +75,6 @@ void DeviceCopy (
         rSourceDevice);
 }
 
-
 void ForAllRectangles (const Region& rRegion, ::boost::function<void(const Rectangle&)> aFunction)
 {
     OSL_ASSERT(aFunction);
@@ -134,9 +133,6 @@ public:
     ~LayerContainer (void) {}
 };
 
-
-
-
 //===== LayeredDevice =========================================================
 
 LayeredDevice::LayeredDevice (const SharedSdWindow& rpTargetWindow)
@@ -148,16 +144,10 @@ LayeredDevice::LayeredDevice (const SharedSdWindow& rpTargetWindow)
     mpBackBuffer->SetOutputSizePixel(mpTargetWindow->GetSizePixel());
 }
 
-
-
-
 LayeredDevice::~LayeredDevice (void)
 {
 }
 
-
-
-
 void LayeredDevice::Invalidate (
     const Rectangle& rInvalidationArea,
     const sal_Int32 nLayer)
@@ -165,33 +155,25 @@ void LayeredDevice::Invalidate (
     if (nLayer<0 || size_t(nLayer)>=mpLayers->size())
     {
         OSL_ASSERT(nLayer>=0 && size_t(nLayer)<mpLayers->size());
-        return;
     }
-
-    (*mpLayers)[nLayer]->InvalidateRectangle(rInvalidationArea);
+    else
+    {
+        (*mpLayers)[nLayer]->InvalidateRectangle(rInvalidationArea);
+    }
 }
 
-
-
-
 void LayeredDevice::InvalidateAllLayers (const Rectangle& rInvalidationArea)
 {
     for (sal_uInt32 nLayer=0; nLayer<mpLayers->size(); ++nLayer)
         (*mpLayers)[nLayer]->InvalidateRectangle(rInvalidationArea);
 }
 
-
-
-
 void LayeredDevice::InvalidateAllLayers (const Region& rInvalidationRegion)
 {
     for (sal_uInt32 nLayer=0; nLayer<mpLayers->size(); ++nLayer)
         (*mpLayers)[nLayer]->InvalidateRegion(rInvalidationRegion);
 }
 
-
-
-
 void LayeredDevice::RegisterPainter (
     const SharedILayerPainter& rpPainter,
     const sal_Int32 nLayer)
@@ -226,9 +208,6 @@ void LayeredDevice::RegisterPainter (
         SharedILayerInvalidator(new LayerInvalidator(shared_from_this(),mpTargetWindow,nLayer)));
 }
 
-
-
-
 void LayeredDevice::RemovePainter (
     const SharedILayerPainter& rpPainter,
     const sal_Int32 nLayer)
@@ -253,9 +232,6 @@ void LayeredDevice::RemovePainter (
         mpLayers->erase(mpLayers->end()-1);
 }
 
-
-
-
 void LayeredDevice::Repaint (const Region& rRepaintRegion)
 {
     // Validate the contents of all layers (that have their own devices.)
@@ -267,9 +243,6 @@ void LayeredDevice::Repaint (const Region& rRepaintRegion)
     ForAllRectangles(rRepaintRegion, ::boost::bind(&LayeredDevice::RepaintRectangle, this, _1));
 }
 
-
-
-
 void LayeredDevice::RepaintRectangle (const Rectangle& rRepaintRectangle)
 {
     if (mpLayers->empty())
@@ -294,9 +267,6 @@ void LayeredDevice::RepaintRectangle (const Rectangle& rRepaintRectangle)
     }
 }
 
-
-
-
 void LayeredDevice::Resize (void)
 {
     const Size aSize (mpTargetWindow->GetSizePixel());
@@ -304,18 +274,12 @@ void LayeredDevice::Resize (void)
     ::std::for_each(mpLayers->begin(), mpLayers->end(), ::boost::bind(&Layer::Resize, _1, aSize));
 }
 
-
-
-
 void LayeredDevice::Dispose (void)
 {
     ::std::for_each(mpLayers->begin(), mpLayers->end(), ::boost::bind(&Layer::Dispose, _1));
     mpLayers->clear();
 }
 
-
-
-
 bool LayeredDevice::HandleMapModeChange (void)
 {
     const MapMode& rMapMode (mpTargetWindow->GetMapMode());
@@ -379,9 +343,6 @@ bool LayeredDevice::HandleMapModeChange (void)
     return true;
 }
 
-
-
-
 //===== Layer =================================================================
 
 Layer::Layer (void)
@@ -391,48 +352,29 @@ Layer::Layer (void)
 {
 }
 
-
-
-
 Layer::~Layer (void)
 {
 }
 
-
-
-
 void Layer::Initialize (const SharedSdWindow& rpTargetWindow)
 {
-#if 0
-    (void)rpTargetWindow;
-#else
-    if ( ! mpLayerDevice)
+    if (!mpLayerDevice)
     {
         mpLayerDevice.reset(new VirtualDevice(*rpTargetWindow));
         mpLayerDevice->SetOutputSizePixel(rpTargetWindow->GetSizePixel());
     }
-#endif
 }
 
-
-
-
 void Layer::InvalidateRectangle (const Rectangle& rInvalidationBox)
 {
     maInvalidationRegion.Union(rInvalidationBox);
 }
 
-
-
-
 void Layer::InvalidateRegion (const Region& rInvalidationRegion)
 {
     maInvalidationRegion.Union(rInvalidationRegion);
 }
 
-
-
-
 void Layer::Validate (const MapMode& rMapMode)
 {
     if (mpLayerDevice && ! maInvalidationRegion.IsEmpty())
@@ -447,9 +389,6 @@ void Layer::Validate (const MapMode& rMapMode)
     }
 }
 
-
-
-
 void Layer::ValidateRectangle (const Rectangle& rBox)
 {
     if ( ! mpLayerDevice)
@@ -469,9 +408,6 @@ void Layer::ValidateRectangle (const Rectangle& rBox)
     mpLayerDevice->SetClipRegion(aSavedClipRegion);
 }
 
-
-
-
 void Layer::Repaint (
     OutputDevice& rTargetDevice,
     const Rectangle& rRepaintRectangle)
@@ -492,9 +428,6 @@ void Layer::Repaint (
     }
 }
 
-
-
-
 void Layer::Resize (const Size& rSize)
 {
     if (mpLayerDevice)
@@ -504,9 +437,6 @@ void Layer::Resize (const Size& rSize)
     }
 }
 
-
-
-
 void Layer::AddPainter (const SharedILayerPainter& rpPainter)
 {
     OSL_ASSERT(::std::find(maPainters.begin(), maPainters.end(), rpPainter) == maPainters.end());
@@ -514,9 +444,6 @@ void Layer::AddPainter (const SharedILayerPainter& rpPainter)
     maPainters.push_back(rpPainter);
 }
 
-
-
-
 void Layer::RemovePainter (const SharedILayerPainter& rpPainter)
 {
     const ::std::vector<SharedILayerPainter>::iterator iPainter (
@@ -531,23 +458,16 @@ void Layer::RemovePainter (const SharedILayerPainter& rpPainter)
     }
 }
 
-
-
-
 bool Layer::HasPainter (void) const
 {
     return !maPainters.empty();
 }
 
-
-
-
 void Layer::Dispose (void)
 {
     maPainters.clear();
 }
 
-
 } } } // end of namespace ::sd::slidesorter::view
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list