Issue 10931

Summary: Scroll mousewheel to change slides in Impress when editing and slide is fully shown in the window
Product: Impress Reporter: Unknown <non-migrated>
Component: uiAssignee: AOO issues mailing list <issues>
Status: CONFIRMED --- QA Contact:
Severity: Trivial    
Priority: P3 CC: issues, kamataki, kozodaevroman, kpalagin, lists, nick519, stp
Version: OOo 1.0.1   
Target Milestone: ---   
Hardware: PC   
OS: All   
Issue Type: ENHANCEMENT Latest Confirmation in: ---
Developer Difficulty: ---

Description Unknown 2003-01-25 04:52:34 UTC
It would be nice to have an option to change the page, a la pageup/pagedown,
when scrolling with the mouse wheel in impress. Right now, it scrolls the slide
in the OO window.
Comment 1 Frank Schönheit 2003-02-05 16:46:32 UTC
changing component/QA contact
changing ownership to user experience team for evaluation
Comment 2 eric.savary 2003-04-16 15:32:10 UTC
Set to "NEW"
Comment 3 bettina.haberer 2003-07-18 16:38:07 UTC
Changing slides with keys is ways easier then changing them with a
mouse wheel, what is difficult to control. 
Comment 4 bettina.haberer 2003-07-18 16:38:23 UTC
Closed.
Comment 5 bettina.haberer 2003-07-25 14:37:24 UTC
I have something to add concerning this issue, I reopen it.
Comment 6 bettina.haberer 2003-07-25 15:19:18 UTC
I think that just scrolling with the wheel is not an easy handling.
And scrolling during a presentation between slides with starting
objecteffects is not helpful. 
But it is imaginable, that scrolling between slides via mouse wheel
could be eased by adding an orientation utility: In  example, at
pressing the wheel a little bar appears, presenting all existing
slides with number (or slidename), and at scrolling with the wheel the
appropriate slide can be hit more accurate and quick.
Comment 7 bettina.haberer 2003-07-25 15:20:11 UTC
*** Issue 12530 has been marked as a duplicate of this issue. ***
Comment 8 Unknown 2003-07-29 04:06:48 UTC
Actually, I wasn't thinking of scrolling via the mouse wheel in a
presentation, although Bettina's comment is probably worth looking into.

No, I was actually hoping to get the mousewheel to change slides while
 creating the presentation. I have found that having the mousewheel
scroll the slide in the window while creating the slide has limited
functionality, but I find myself using the mousewheel to change slides
forward and back while creating slides.

This is just one of those things to throw out there in case others
might find it sufficiently useful to include as a customization option.
Comment 9 bettina.haberer 2003-09-11 10:16:58 UTC
Might have been a bit unclear, but I also did not think of changing
slides via mouse wheel during a presentation (with the reason I
metioned), but think of changing slides at working in the document.
And for that, I thought, travelling with the mouse wheel could be
eased by orientation help (for better "hitting" the aimed slide :-) ). 
Comment 10 bettina.haberer 2003-09-11 10:44:35 UTC
*** Issue 18782 has been marked as a duplicate of this issue. ***
Comment 11 bettina.haberer 2004-04-08 19:22:48 UTC
Hello Christian, I suppose, that this enhancement will be considered within
Impress due to the current bigger changes you are specifying? 
Comment 12 bettina.haberer 2004-04-08 19:41:55 UTC
*** Issue 4829 has been marked as a duplicate of this issue. ***
Comment 13 Martin Hollmichel 2004-05-28 17:53:10 UTC
according to the announcement on releases
(http://www.openoffice.org/servlets/ReadMsg?list=releases&msgNo=7503) this issue
will be re-targeted to OOo Later.
Comment 14 watersrw 2004-10-28 19:59:11 UTC
The ability to scroll through slides with the mouse wheel is a must. It is the
main reason I use PowerPoint over Impress. As a student, lecturers give out
PowerPoint notes and scrolling through these pages with the mouse one by one is
very controllable via the mouse wheel. You don't view these notes in slide show
mode, but editing mode since it allows you to work on other stuff at the same
time. The cursor keys are also hopeless. Granted page up and down work, but are
a bit buggy (crashed ooo for me!).

Surely this enhancement should be considered as part of increasing reuse of
existing skills for former users of Microsoft Office?
Comment 15 watersrw 2005-05-12 16:50:28 UTC
Why not do as MS Office does - when the presentation does not go over the edge,
arrow keys + wheel + scroll bars do slide by slide, but when this is not true,
only move the current slides view in the viewport. 
Comment 16 stp 2006-03-22 11:43:28 UTC
*** Issue 19944 has been marked as a duplicate of this issue. ***
Comment 17 stp 2006-03-22 11:45:05 UTC
Adjusted summary.
Comment 18 stp 2006-03-22 11:45:56 UTC
*** Issue 56478 has been marked as a duplicate of this issue. ***
Comment 19 stp 2006-03-22 11:55:51 UTC
2.0.2 actually supports changing slides with mousewheel as requested - but only
at very small slide sizes. There are cases where the slide is fully shown in the
window but the mousewheel doesn't change slide.
Comment 20 stp 2006-03-22 11:58:52 UTC
The threshold seems to be fixed at 50% zoom.
Comment 21 mjresin 2006-04-02 06:01:40 UTC
It seems that Impress will only let you change slides with the mouse wheel if
you are zoomed out enough to show at least twice the height and width of a
slide, which can be less than 20% if you window is small enough.  Why would
anyone need that much space around a slide, especially since only the stuff
actually on the slide will show up during a presentation?
Comment 22 kpalagin 2006-09-19 12:18:58 UTC
cj,
what do you think of this issue? Does this enhancement have a chance of being 
implemented? I think it unnecessary limitation and a lot of users like to 
scroll between slides in Normal view.
Thanks a lot.
Comment 23 gtimur 2006-10-10 13:03:08 UTC
Mouse scroll in slide design mode should scroll the slides, Page Up/Down mode,
if zoom is "Zoom Page" or smaller. Otherwise, if only a part of the slide is
displayed, scroll should remain at Arrow Up/Down mode.
This is the most annoying issue in Impress.
http://ui.openoffice.org/servlets/ReadMsg?listName=dev&msgNo=648
Comment 24 kpalagin 2006-12-23 12:55:00 UTC
*** Issue 72690 has been marked as a duplicate of this issue. ***
Comment 25 christian.jansen 2007-01-02 13:38:45 UTC
CJ -> CL:

Hi Christian,
Here are my two cents.

There are two modes we should consider.

Zoom Level = Entire Page or below (Scrolling up or down):
In that case:
- Each mouse wheel step scrolls one slide

Zoom Level = Greater than Entire Page (Scrolling down):
- Scroll first to the bottom edge of the canvas.
- The next step moves the view to the top edge of the next slide.
  With 25 px of the canvas displayed.

Zoom Level = Greater than Entire Page (Scrolling up):
- Scroll first to the top edge of the canvas.
- The next step moves the view to the bottom edge of the previous slide.
  With 25 px of the canvas displayed.

Key board commands: 

 - PageUp/Down
 - Arrow Up/Down
Switches slides

If an object is selected
- Arrow Up/Down
Moves the object on the canvas

- CTRL & Mouse Wheel
Zoom In/Out

CTRL & Shift & Mouse Wheel
Zoom In/Out
Comment 26 christian.jansen 2007-01-02 13:42:35 UTC
Wrong ownder. Changed owner from cd to cl.
Comment 27 kpalagin 2007-01-02 15:06:31 UTC
Christian J,
THANK YOU VERY MUCH!!! 
Excellent specification!

Christian L,
thanks a lot in advance!
Comment 28 wolframgarten 2007-03-21 13:47:48 UTC
*** Issue 27823 has been marked as a duplicate of this issue. ***
Comment 29 wolframgarten 2007-03-21 13:51:41 UTC
*** Issue 75597 has been marked as a duplicate of this issue. ***
Comment 30 clippka 2007-05-10 13:54:08 UTC
this is a nice spec but the main reason why we integrated the middle mouse wheel
switching slides when having 50% zoom is that the current view implementation is
a little flawed in that perspective.

Therefore this is no easy fix and even if I agree that it is one of the
countless "main reason I use PowerPoint over Impress" issues I don't have a
developer resource handy to fix this for the 2.3 release time frame.

If anyone wants to submit a patch I'm happy to review it.

Changing target to 2.x
Comment 31 clippka 2007-05-10 14:24:48 UTC
Hi Paulie,

thanks for you interest in fixing this issue.

The main problem is the "Wiese". That is the gray area around the actual slide.
You can use it place shapes outside the slide. For example for later use.

In PowerPoint the size of the "Wiese" is dynamic. If there is no shape on it
then its size is nearly zero. In impress/draw this size is always 3 times as
high as the slide and 3 times as wide as the slide (if I remember correctly)
with the slide itself in the middle. So currently the middle mouse only changes
slides when the 'Wiese' is completely visible. Or more technically, if the
vertical scrollbar of the document shows 100% and is not usable. In that case we
switch the scrollbar to navigate through the slides in the document. Since the
middle mouse button automatically access the vertical scrollbar the middle mouse
button also changes slides (But technically the scrollbar does the actual slide
change).

Now the best fix for this is to also make the size of the "Wiese" dynamic. The
code for this is spread in the SdrPaintView and its multiple derivated classes.
This code was written long before my time with StarOffice/OpenOffice and I'm
working on it for 10 years now :)
Comment 32 clippka 2007-09-12 13:41:38 UTC
retargeted
Comment 33 dj_bridges 2008-04-08 16:08:53 UTC
cl is correct - the problem is with the wiese. There should be an option to
select to have a dynamis wiese or fixed wiese, then users can choose whether
scrolling up and down (with a mousewheel or arrow keys) moves up / down the
slide or to the next / previous slide.
Comment 34 nanomir 2008-04-10 12:46:44 UTC
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);
Comment 35 clippka 2008-06-26 16:35:44 UTC
cl->af: please take over, we should definitely address this issue asap.
Comment 36 kpalagin 2009-01-27 15:17:08 UTC
*** Issue 98208 has been marked as a duplicate of this issue. ***
Comment 37 frijolie 2009-02-01 22:34:29 UTC
Not much movement on this issue...I was hoping to see this implemented soon and
not just for my own selfish interests!
Comment 38 nanomir 2009-02-17 10:08:11 UTC
Well, I can't believe that it has been almost a year, since I've submitted the
patch above, which doesn't change anything significant in the OpenOffice way -
and yet it is still not implemented!!!! I wonder why .., :) Maybe that feature
is patented by Microsoft or something? And it is still as irritating as ever not
to be able to flip slides with mouse-wheel!!! 
Comment 39 groucho266 2009-02-17 12:33:21 UTC
There are two reasons why this has not been fixed yet: 
1: The target is relatively low.  There are a lot of other, more pressing issues.
2: I have not yet seen a good concept of how to fix this.  I am sorry to say
this, but this includes the above patch.  It may work for some people to
manually switch between zooming and scrolling, but I don't think that this is
acceptable for all users.

I think that the current mouse wheel scrolling has to be adapted so that it not
only moves the current slide up and down but at some point switches to the next
or previous slide.  I have no clear idea how the details of this might look.
Comment 40 Edwin Sharp 2014-04-23 07:59:37 UTC
*** Issue 47203 has been marked as a duplicate of this issue. ***
Comment 41 Edwin Sharp 2014-05-02 12:18:16 UTC
*** Issue 102547 has been marked as a duplicate of this issue. ***
Comment 42 Marcus 2017-05-20 10:45:30 UTC
Reset the assignee to the default "issues@openoffice.apache.org".