[FEATURE] Mouse wheel over sliders in color dialog to change value by

increments
This commit is contained in:
Nyall Dawson 2016-07-11 10:27:16 +10:00
parent 4145e337ab
commit d3582abbf6
3 changed files with 23 additions and 0 deletions

View File

@ -373,6 +373,7 @@ class QgsColorRampWidget : QgsColorWidget
protected:
virtual void mouseMoveEvent( QMouseEvent *event );
virtual void wheelEvent( QWheelEvent* event );
virtual void mousePressEvent( QMouseEvent *event );
virtual void keyPressEvent( QKeyEvent * event );
};

View File

@ -1178,6 +1178,27 @@ void QgsColorRampWidget::mouseMoveEvent( QMouseEvent *event )
QgsColorWidget::mouseMoveEvent( event );
}
void QgsColorRampWidget::wheelEvent( QWheelEvent *event )
{
int oldValue = componentValue();
if ( event->delta() > 0 )
{
setComponentValue( componentValue() + 1 );
}
else
{
setComponentValue( componentValue() - 1 );
}
if ( componentValue() != oldValue )
{
//value has changed
emit colorChanged( mCurrentColor );
emit valueChanged( componentValue() );
}
}
void QgsColorRampWidget::mousePressEvent( QMouseEvent *event )
{
setColorFromPoint( event->posF() );

View File

@ -515,6 +515,7 @@ class GUI_EXPORT QgsColorRampWidget : public QgsColorWidget
protected:
virtual void mouseMoveEvent( QMouseEvent *event ) override;
virtual void wheelEvent( QWheelEvent* event ) override;
virtual void mousePressEvent( QMouseEvent *event ) override;
virtual void keyPressEvent( QKeyEvent * event ) override;