Bug 228780

Summary: mousewheel left/right moves volume slider in counterintuitive direction.
Product: [Applications] kmix Reporter: Oliver Henshaw <oliver.henshaw>
Component: generalAssignee: Christian Esken <esken>
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:

Description Oliver Henshaw 2010-02-27 17:27:02 UTC
Version:            (using KDE 4.4.0)
OS:                Linux
Installed from:    Fedora RPMs

The "mouse wheel right" action decreases the volume of a kmix slider (whether in the panel applet or the mixer window). This is counter-intuitive, especially with horizontal sliders - where the slider moves to the right as volume increases.

Expected behavior: Mouse wheel right increases volume, mouse wheel left decreases it.
Comment 1 Christian Esken 2011-09-17 11:23:21 UTC
Probably I cannot fix it at the moment. Qt doesn't seem to indicate the actual wheel in the QWheelEvent: http://doc.qt.nokia.com/latest/qwheelevent.html
Comment 2 Oliver Henshaw 2011-09-17 15:16:53 UTC
I've experimented a little with PyQt and it looks like QWheelEvent::orientation() does what you need.

Does the slider act differently in RTL environments? If so I'd guess you have to check that too.
Comment 3 Christian Esken 2011-09-17 21:00:40 UTC
I guess you are right. I have overlooked the QWheelEvent::orientation(). I'll submit a patch in a minute.
Comment 4 Christian Esken 2011-09-17 21:02:03 UTC
SVN commit 1254110 by esken:

BUGS: 228780
Reverse direction on horizontal QWheelEvents

 M  +5 -2      kmixdockwidget.cpp  
 M  +1 -1      kmixdockwidget.h  
 M  +8 -3      ksmallslider.cpp  
 M  +6 -1      mdwslider.cpp  

WebSVN link: http://websvn.kde.org/?view=rev&revision=1254110
Comment 5 Christian Esken 2011-09-17 21:04:48 UTC
I cannot test it myself due to lack of hardware (horizontal mouse wheel). But it really should work out of the box, so I have directly closed this bug. If I am wrong please reopen teh bug or feel free to contact my via personal email.