To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=10931





------- Additional comments from [EMAIL PROTECTED] Thu Apr 10 11:46:44 +0000 
2008 -------
Hi all, 
I can't believe this has been around for so long, and wasn't fixed - it was my
primary obstacle to switching from powerpoint :) Well, in the end my old
powerpoint came to crash every 20 min or so, and it was time to switch - but the
lack of middle click flip slides was just so irritating, so I managed to make a
fix.. (noob note - I thought it would go quick, but compiling ooo from source
takes about 4hrs on my PC, and the folder grows from hundreds of megs to about 4
GB and more :) ) 

Anyways, I managed to make some sort of a fix, inspired by the wiese mention
here. The fix adds a checkbox to Tools/Options/OpenOffice.org Impress/General,
called "Flip slides with mousewheel". If it is checked, when doing mouse wheel,
the old zoom is remembered, zoom is set to 1 (minimum view), wheel proceeds and
flips the page by default, and zoom is afterwards set back to the old value (I'd
much rather use _ExecPgUpAndPgDown, but I don't know how to get a reference to
it)... Note that the checkbox doesn't work properly (as I don't know how to make
it work :) ) - at start of simpress it is set, and pages flip with mouse wheel -
if you decide to uncheck it, then the pages don't flip with wheel anymore (as
expected), but if you go back to options again, you will see the checkbox
checked again, and it will not go back to true anymore (which doesn't matter to
me, since I don't intend to change it anyways :) ) 

I've made a diff patches for the files individually, and then merged it into a
single patch by hand - hope I didn't make many mistakes. The patch is in
reference to the 2.4.0 sources (OOo_2.4.0_src_core.tar.bz2). Since I'm not
familiar with "upstream" and the like, the patch is included below. For the
impatient, I've put the compiled files here: 
http://www.mediafire.com/?9xigky9iizg
download sd.wntmsci10.pro.bin.zip, and copy all dll files in it into [your OOo
install dir]/program (overwriting the previous versions), and the sd680en-US.res
file in [your OOo install dir]/program/resource (again, overwrite - this file
shows the checkbox, I believe).

Well, hope this helps - and I really hope to see this (or other similar
solution) in the default open office impress soon :) {although, possibly the
best eventually, would be to have the option to customize all these events in a
config file, and have corresponding functions available, so one could do, say: 
MouseWheelUp: GoPrevPage();
MouseWheelDown: GoNextPage();
Ctrl_MouseWheelUp: Etcetera(); }

-------------

patch file: 

diff -Naur
OOH680_m12\officecfg\registry\schema\org\openoffice\Office\Impress.xcs
OOH680_m12fix\officecfg\registry\schema\org\openoffice\Office\Impress.xcs
--- OOH680_m12\officecfg\registry\schema\org\openoffice\Office\Impress.xcs
2008-01-18 13:59:24.000000000 +0100
+++ OOH680_m12fix\officecfg\registry\schema\org\openoffice\Office\Impress.xcs
2008-04-09 15:51:13.785328800 +0200
@@ -305,6 +305,16 @@
                        <info>
                                <desc>Contains a collection of configuration 
items for the Impress
application that do not fit into another category.</desc>
                        </info>
+                       <prop oor:name="WheelFlipSlides" oor:type="xs:boolean">
+                               <!-- OldPath: -->
+                               <!-- OldLocation: -->
+                               <!-- UIHints: Tools - Options - Presentation  
Other  [Section] Other -->
+                               <info>
+                                       <desc>When active, mouse wheel should 
flip slides.</desc>
+                                       <label>Flip slides with 
mousewheel</label>
+                               </info>
+                               <value>true</value>
+                       </prop>
                        <prop oor:name="BackgroundCache" oor:type="xs:boolean">
                                <!-- OldPath: Impress/Other -->
                                <!-- OldLocation: Soffice.cfg -->
diff -Naur OOH680_m12\sd\source\ui\app\optsitem.cxx
OOH680_m12fix\sd\source\ui\app\optsitem.cxx
--- OOH680_m12\sd\source\ui\app\optsitem.cxx    2007-11-26 15:33:57.000000000 
+0100
+++ OOH680_m12fix\sd\source\ui\app\optsitem.cxx 2008-04-09 15:56:17.712354400 
+0200
@@ -547,6 +547,7 @@
        bPreviewChangedEffects( FALSE ),
        bPreviewTransitions( TRUE ),
        mnDisplay( 0 ),
+       bWheelFlipSlides( TRUE ),
        // The default for 6.1-and-above documents is to use printer-independent
     // formatting.
        mnPrinterIndependentLayout (1)
@@ -585,6 +586,7 @@
        SetPreviewChangedEffects(false);
        SetPreviewTransitions(true);
        SetDisplay(0);
+       SetWheelFlipSlides( TRUE );
 }
 
 // 
-----------------------------------------------------------------------------
@@ -617,7 +619,9 @@
                        IsPreviewNewEffects() == rOpt.IsPreviewNewEffects() &&
                        IsPreviewChangedEffects() == 
rOpt.IsPreviewChangedEffects() &&
                        IsPreviewTransitions() == rOpt.IsPreviewTransitions() &&
-                       GetDisplay() == rOpt.GetDisplay()
+                       GetDisplay() == rOpt.GetDisplay() &&
+                       IsWheelFlipSlides() == rOpt.IsWheelFlipSlides()         
                
+
 
                );
 }
@@ -658,12 +662,13 @@
                "PreviewChangedEffects",
                "PreviewTransitions",
 
-               "Display"
+               "Display",
+               "Misc/WheelFlipSlides"
        };
 
        // #90356# rCount = ( ( GetConfigId() == SDCFG_IMPRESS ) ? 15 : 12 );
        // #97016# rCount = ( ( GetConfigId() == SDCFG_IMPRESS ) ? 16 : 12 );
-       rCount = ( ( GetConfigId() == SDCFG_IMPRESS ) ? 24 : 15 );
+       rCount = ( ( GetConfigId() == SDCFG_IMPRESS ) ? 25 : 15 );
        ppNames = aPropNames;
 }
 
@@ -715,6 +720,8 @@
 
                if( pValues[23].hasValue() )
                        SetDisplay(*(sal_Int32*) pValues[ 23 ].getValue());
+               
+               if( pValues[24].hasValue() ) SetWheelFlipSlides( *(sal_Bool*) 
pValues[ 24
].getValue() ); //for Misc/WheelFlipSlides
        }
 
        return TRUE;
@@ -757,6 +764,7 @@
                pValues[ 22 ] <<= IsPreviewTransitions();
 
                pValues[ 23 ] <<= GetDisplay();
+               pValues[ 24 ] <<= IsWheelFlipSlides();
        }
 
        return TRUE;
@@ -831,6 +839,7 @@
                maOptionsMisc.SetClickChangeRotation( 
pOpts->IsClickChangeRotation() );
                maOptionsMisc.SetSolidDragging( pOpts->IsSolidDragging() );
                maOptionsMisc.SetSolidMarkHdl( pOpts->IsSolidMarkHdl() );
+               maOptionsMisc.SetWheelFlipSlides( pOpts->IsWheelFlipSlides() );
        }
 }
 
@@ -884,6 +893,8 @@
                pOpts->SetPreviewTransitions( 
maOptionsMisc.IsPreviewTransitions() );
 
                pOpts->SetDisplay( maOptionsMisc.GetDisplay() );
+               
+               pOpts->SetWheelFlipSlides( maOptionsMisc.IsWheelFlipSlides() );
        }
 }
 
diff -Naur OOH680_m12\sd\source\ui\inc\optsitem.hxx
OOH680_m12fix\sd\source\ui\inc\optsitem.hxx
--- OOH680_m12\sd\source\ui\inc\optsitem.hxx    2007-11-26 15:36:06.000000000 
+0100
+++ OOH680_m12fix\sd\source\ui\inc\optsitem.hxx 2008-04-09 10:14:47.879421600 
+0200
@@ -303,6 +303,7 @@
 
        sal_Int32       mnDisplay;
 
+       BOOL    bWheelFlipSlides                : 1;    // Misc/WheelFlipSlides
     /** This value controls the device to use for formatting documents.
         The currently supported values are 0 for the current printer or 1
         for the printer independent virtual device the can be retrieved from
@@ -331,6 +332,7 @@
        BOOL    IsCrookNoContortion() const { Init(); return (BOOL) 
bCrookNoContortion; }
        BOOL    IsQuickEdit() const { Init(); return (BOOL) bQuickEdit; }
        BOOL    IsMasterPagePaintCaching() const { Init(); return (BOOL) 
bMasterPageCache; }
+       BOOL    IsWheelFlipSlides() const { Init(); return (BOOL) 
bWheelFlipSlides; }
        BOOL    IsDragWithCopy() const { Init(); return (BOOL) bDragWithCopy; }
        BOOL    IsPickThrough() const { Init(); return (BOOL) bPickThrough; }
        BOOL    IsBigHandles() const { Init(); return (BOOL) bBigHandles; }
@@ -366,6 +368,7 @@
        void    SetCrookNoContortion( BOOL bOn = TRUE ) { if( 
bCrookNoContortion != bOn )
{ OptionsChanged(); bCrookNoContortion = bOn; } }
        void    SetQuickEdit( BOOL bOn = TRUE ) { if( bQuickEdit != bOn ) {
OptionsChanged(); bQuickEdit = bOn; } }
        void    SetMasterPagePaintCaching( BOOL bOn = TRUE ) { if( 
bMasterPageCache !=
bOn ) { OptionsChanged(); bMasterPageCache = bOn; } }
+       void    SetWheelFlipSlides( BOOL bOn = TRUE ) { if( bWheelFlipSlides != 
bOn ) {
OptionsChanged(); bWheelFlipSlides = bOn; } }
        void    SetDragWithCopy( BOOL bOn = TRUE ) { if( bDragWithCopy != bOn ) 
{
OptionsChanged(); bDragWithCopy = bOn; } }
        void    SetPickThrough( BOOL bOn = TRUE ) { if( bPickThrough != bOn ) {
OptionsChanged(); bPickThrough = bOn; } }
        void    SetBigHandles( BOOL bOn = TRUE ) { if( bBigHandles != bOn ) {
OptionsChanged(); bBigHandles = bOn; } }
diff -Naur OOH680_m12\sd\source\ui\view\viewshel.cxx
OOH680_m12fix\sd\source\ui\view\viewshel.cxx
--- OOH680_m12\sd\source\ui\view\viewshel.cxx   2007-07-06 15:15:12.000000000 
+0200
+++ OOH680_m12fix\sd\source\ui\view\viewshel.cxx        2008-04-09 
19:30:48.459580000 +0200
@@ -94,6 +94,9 @@
 #ifndef _SFX_CHILDWIN_HXX
 #include <sfx2/childwin.hxx>
 #endif
+#ifndef _MSGBOX_HXX //not autogen
+#include <vcl/msgbox.hxx>
+#endif
 
 #include "app.hrc"
 #include "helpids.h"
@@ -146,6 +149,11 @@
 SO2_DECL_REF(SvInPlaceObject)
 #endif
 
+/*#ifndef _PVIEW_HXX
+//#include <../../../../sw/source/ui/inc/pview.hxx> //added path in makefile
+#include <pview.hxx>
+#endif*/
+
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
 
@@ -720,7 +728,12 @@
 BOOL ViewShell::HandleScrollCommand(const CommandEvent& rCEvt, ::sd::Window* 
pWin)
 {
     BOOL bDone = FALSE;
-
+       String str1 (RTL_CONSTASCII_STRINGPARAM( " test " ));
+       String str2 (RTL_CONSTASCII_STRINGPARAM( " - " ));
+       
+       str1 += UniString::CreateFromInt32( rCEvt.GetCommand() );
+       str1.Append(  str2 );
+       
     switch( rCEvt.GetCommand() )
     {
         case COMMAND_WHEEL:
@@ -728,14 +741,31 @@
         case COMMAND_AUTOSCROLL:
         {
             const CommandWheelData* pData = rCEvt.GetWheelData();
-
+                       
+                       SdOptions* pOptions = 
SD_MOD()->GetSdOptions(DOCUMENT_TYPE_IMPRESS);
+                       SdPage* pActualPage = GetActualPage();
+                       str1 += UniString::CreateFromInt32( pData->IsMod1() );
+                       str1.Append(  str2 );
+                       str1 += UniString::CreateFromInt32( IsPageFlipMode() );
+                       str1.Append(  str2 );
+                       str1 += UniString::CreateFromInt32( 
pOptions->IsWheelFlipSlides() );
+                       str1.Append(  str2 );
+                       str1 += UniString::CreateFromInt32( 
pActualPage->GetPageNum() );
+                       str1.Append(  str2 );
+                       str1 += UniString::CreateFromInt32( 
COMMAND_WHEEL_PAGESCROLL );
+                       str1.Append(  str2 );
+                       str1 += UniString::CreateFromInt32( 
GetActiveWindow()->GetZoom() );
+                       
+                       InfoBox( 0, str1 ).Execute();
+                       const long  nOldZoom = GetActiveWindow()->GetZoom();
+                       
             if (pData != NULL)
             {
                 if (pData->IsMod1())
                 {
                     if( !GetDocSh()->IsUIActive() )
                     {
-                        const long  nOldZoom = GetActiveWindow()->GetZoom();
+                        //const long  nOldZoom = GetActiveWindow()->GetZoom();
//moved upstairs
                         long        nNewZoom;
 
                         if( pData->GetDelta() < 0L )
@@ -753,8 +783,15 @@
                     if( mpContentWindow.get() == pWin )
                     {
                         ULONG nScrollLines = pData->GetScrollLines();
-                        if(IsPageFlipMode())
+                        //if(IsPageFlipMode())  // main change 
+                        if(IsPageFlipMode() || pOptions->IsWheelFlipSlides())
+                                               {
                             nScrollLines = COMMAND_WHEEL_PAGESCROLL;
+                                                       
//pView->_ExecPgUpAndPgDown(true); //would use this, but don't know how
- so zoom trick, before and after
+                                                        SetZoom( 1 );
+                                                        Invalidate( 
SID_ATTR_ZOOM );
+                                               }
+
                         CommandWheelData aWheelData(
pData->GetDelta(),pData->GetNotchDelta(),
                            
nScrollLines,pData->GetMode(),pData->GetModifier(),pData->IsHorz() );
                         CommandEvent aReWrite(
rCEvt.GetMousePosPixel(),rCEvt.GetCommand(),
@@ -762,6 +799,12 @@
                         bDone = pWin->HandleScrollCommand( aReWrite,
                             mpHorizontalScrollBar.get(),
                             mpVerticalScrollBar.get());
+
+                                               if(IsPageFlipMode() || 
pOptions->IsWheelFlipSlides())
+                                               {
+                                                       SetZoom( nOldZoom );
+                                                       Invalidate( 
SID_ATTR_ZOOM );
+                                               }
                     }
                 }
             }
diff -Naur OOH680_m12\sd\source\ui\dlg\tpoption.src
OOH680_m12fix\sd\source\ui\dlg\tpoption.src
--- OOH680_m12\sd\source\ui\dlg\tpoption.src    2007-11-26 15:35:12.000000000 
+0100
+++ OOH680_m12fix\sd\source\ui\dlg\tpoption.src 2008-04-09 15:28:43.073100000 
+0200
@@ -129,16 +129,23 @@
     CheckBox CBX_MASTERPAGE_CACHE
        {
         Pos = MAP_APPFONT ( 12 , 80  ) ;
-        Size = MAP_APPFONT ( 242 , 10 ) ;
+        Size = MAP_APPFONT ( 110 , 10 ) ;
                TabStop = TRUE ;
                Text [ en-US ] = "Use background cache" ;
        };
+    CheckBox CBX_WHEELFLIP_SLIDES
+       {
+        Pos = MAP_APPFONT ( 150 , 80  ) ;
+        Size = MAP_APPFONT ( 110 , 10 ) ;
+               TabStop = TRUE ;
+               Text [ en-US ] = "Flip slides with mousewheel" ;
+       };      
        CheckBox CBX_COPY
        {
         Pos = MAP_APPFONT ( 12 , 93  ) ;
         Size = MAP_APPFONT ( 242 , 10 ) ;
                TabStop = TRUE ;
-               Text [ en-US ] = "Copy when moving" ;
+               Text [ en-US ] = "Copy when moving.." ;
        };
        CheckBox CBX_MARKED_HIT_MOVES_ALWAYS
        {
diff -Naur OOH680_m12\sd\source\ui\inc\tpoption.hxx
OOH680_m12fix\sd\source\ui\inc\tpoption.hxx
--- OOH680_m12\sd\source\ui\inc\tpoption.hxx    2007-11-26 15:36:41.000000000 
+0100
+++ OOH680_m12fix\sd\source\ui\inc\tpoption.hxx 2008-04-09 15:00:53.762749600 
+0200
@@ -125,6 +125,7 @@
 
     FixedLine   aGrpSettings;
     CheckBox    aCbxMasterPageCache;
+    CheckBox    aCbxWheelFlipSlides;
     CheckBox    aCbxCopy;
     CheckBox    aCbxMarkedHitMovesAlways;
     CheckBox    aCbxCrookNoContortion;
diff -Naur OOH680_m12\sd\source\ui\inc\tpoption.hrc
OOH680_m12fix\sd\source\ui\inc\tpoption.hrc
--- OOH680_m12\sd\source\ui\inc\tpoption.hrc    2007-11-26 15:36:23.000000000 
+0100
+++ OOH680_m12fix\sd\source\ui\inc\tpoption.hrc 2008-04-09 11:17:46.693088800 
+0200
@@ -101,3 +101,4 @@
 #define FT_SCALE                    39
 
 #define CB_USE_PRINTER_METRICS 40
+#define CBX_WHEELFLIP_SLIDES 41
diff OOH680_m12\sd\source\ui\dlg\tpoption.cxx
OOH680_m12fix\sd\source\ui\dlg\tpoption.cxx
--- OOH680_m12\sd\source\ui\dlg\tpoption.cxx    2007-11-26 15:34:57.000000000 
+0100
+++ OOH680_m12fix\sd\source\ui\dlg\tpoption.cxx 2008-04-09 15:06:42.594344800 
+0200
@@ -285,6 +285,7 @@
 
     aGrpSettings                ( this, SdResId( GRP_SETTINGS ) ),
        aCbxMasterPageCache         ( this, SdResId( CBX_MASTERPAGE_CACHE ) ),
+       aCbxWheelFlipSlides         ( this, SdResId( CBX_WHEELFLIP_SLIDES ) ),
        aCbxCopy                    ( this, SdResId( CBX_COPY ) ),
        aCbxMarkedHitMovesAlways    ( this, SdResId( 
CBX_MARKED_HIT_MOVES_ALWAYS ) ),
        aCbxCrookNoContortion       ( this, SdResId( CBX_CROOK_NO_CONTORTION ) 
),
@@ -459,6 +460,7 @@
                aCbxQuickEdit.GetSavedValue()                   != 
aCbxQuickEdit.IsChecked() ||
                aCbxPickThrough.GetSavedValue()                 != 
aCbxPickThrough.IsChecked() ||
                aCbxMasterPageCache.GetSavedValue()     != 
aCbxMasterPageCache.IsChecked() ||
+               aCbxWheelFlipSlides.GetSavedValue()     != 
aCbxWheelFlipSlides.IsChecked() ||
                aCbxCopy.GetSavedValue()                                != 
aCbxCopy.IsChecked() ||
                aCbxStartWithActualPage.GetSavedValue() != 
aCbxStartWithActualPage.IsChecked() ||
                aCbxCompatibility.GetSavedValue()               != 
aCbxCompatibility.IsChecked() ||
@@ -472,6 +474,7 @@
                aOptsItem.GetOptionsMisc().SetQuickEdit( 
aCbxQuickEdit.IsChecked() );
                aOptsItem.GetOptionsMisc().SetPickThrough( 
aCbxPickThrough.IsChecked() );
                aOptsItem.GetOptionsMisc().SetMasterPagePaintCaching(
aCbxMasterPageCache.IsChecked() );
+               aOptsItem.GetOptionsMisc().SetWheelFlipSlides( 
aCbxWheelFlipSlides.IsChecked() );
                aOptsItem.GetOptionsMisc().SetDragWithCopy( 
aCbxCopy.IsChecked() );
                aOptsItem.GetOptionsMisc().SetStartWithActualPage(
aCbxStartWithActualPage.IsChecked() );
         aOptsItem.GetOptionsMisc().SetSummationOfParagraphs(
aCbxCompatibility.IsChecked() );
@@ -529,6 +532,7 @@
        aCbxQuickEdit.Check( aOptsItem.GetOptionsMisc().IsQuickEdit() );
        aCbxPickThrough.Check( aOptsItem.GetOptionsMisc().IsPickThrough() );
        aCbxMasterPageCache.Check(
aOptsItem.GetOptionsMisc().IsMasterPagePaintCaching() );
+       aCbxWheelFlipSlides.Check( 
aOptsItem.GetOptionsMisc().IsWheelFlipSlides() );
        aCbxCopy.Check( aOptsItem.GetOptionsMisc().IsDragWithCopy() );
        aCbxStartWithActualPage.Check(
aOptsItem.GetOptionsMisc().IsStartWithActualPage() );
     aCbxCompatibility.Check(
aOptsItem.GetOptionsMisc().IsSummationOfParagraphs() );
@@ -540,6 +544,7 @@
        aCbxPickThrough.SaveValue();
 
        aCbxMasterPageCache.SaveValue();
+       aCbxWheelFlipSlides.SaveValue();
        aCbxCopy.SaveValue();
        aCbxStartWithActualPage.SaveValue();
        aCbxCompatibility.SaveValue();
@@ -659,6 +664,7 @@
     lcl_MoveWin (aCbxStartWithTemplate, -nLineHeight);
     lcl_MoveWin (aGrpSettings, -nLineHeight);
     lcl_MoveWin (aCbxMasterPageCache, -nLineHeight);
+    lcl_MoveWin (aCbxWheelFlipSlides, -nLineHeight);
     lcl_MoveWin (aCbxCopy, -nLineHeight);
     lcl_MoveWin (aCbxMarkedHitMovesAlways, -nLineHeight);
     lcl_MoveWin (aCbxCrookNoContortion, -nLineHeight);


---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to