Commit 038ee68f authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Qt: InputSlider modification to close #2033.

Qt: InputSlider: wheeling on it will seek of 1% in position.
(cherry picked from commit af7cf494)
Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>

Qt: Don't accept focus on the input slider. Never. Just process mouseEvents...
(cherry picked from commit 47591074)
Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
parent 54a22246
......@@ -50,6 +50,7 @@ InputSlider::InputSlider( Qt::Orientation q,QWidget *_parent ) :
setTracking( true );
setPosition( -1.0, 0, 0 );
secstotimestr( psz_length, 0 );
setFocusPolicy( Qt::NoFocus );
CONNECT( this, valueChanged(int), this, userDrag( int ) );
}
......@@ -110,6 +111,22 @@ void InputSlider::mouseMoveEvent(QMouseEvent *event)
setToolTip( psz_length );
}
void InputSlider::wheelEvent( QWheelEvent *event)
{
/* Don't do anything if we are for somehow reason sliding */
if( !b_sliding )
{
setValue( value() + event->delta()/12 ); /* 12 = 8 * 15 / 10
Since delta is in 1/8 of ° and mouse have steps of 15 °
and that our slider is in 0.1% and we want one step to be a 1%
increment of position */
emit sliderDragged( value()/1000.0 );
}
/* We do accept because for we don't want the parent to change the sound
vol */
event->accept();
}
/* This work is derived from Amarok's work under GPLv2+
- Mark Kretschmann
- Gábor Lehel
......
......@@ -27,9 +27,13 @@
#include "qt4.hpp"
#include <QAbstractSlider>
#include <QSlider>
#include <QMouseEvent>
#include <QWheelEvent>
/* Input Slider derived from QSlider */
class InputSlider : public QSlider
{
Q_OBJECT
......@@ -41,6 +45,7 @@ protected:
virtual void mouseMoveEvent(QMouseEvent *event);
virtual void mousePressEvent(QMouseEvent* event);
virtual void mouseReleaseEvent(QMouseEvent* event);
virtual void wheelEvent(QWheelEvent *event);
private:
bool b_sliding;
int inputLength;
......@@ -54,8 +59,9 @@ signals:
};
/* Sound Slider inherited directly from QAbstractSlider */
class QPaintEvent;
#include <QAbstractSlider>
class SoundSlider : public QAbstractSlider
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment