diff --git a/python/gui/qgscolorwidgets.sip b/python/gui/qgscolorwidgets.sip index 31a37b59d21..bc375c017af 100644 --- a/python/gui/qgscolorwidgets.sip +++ b/python/gui/qgscolorwidgets.sip @@ -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 ); }; diff --git a/src/gui/qgscolorwidgets.cpp b/src/gui/qgscolorwidgets.cpp index 6843740f2e6..e71de04e826 100644 --- a/src/gui/qgscolorwidgets.cpp +++ b/src/gui/qgscolorwidgets.cpp @@ -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() ); diff --git a/src/gui/qgscolorwidgets.h b/src/gui/qgscolorwidgets.h index 73ab48004dd..d4ffc042db4 100644 --- a/src/gui/qgscolorwidgets.h +++ b/src/gui/qgscolorwidgets.h @@ -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;