Skip to content

Commit c63f9c9

Browse files
committed
[FEATURE] Mouse wheel over sliders in color dialog to change value by
increments
1 parent c23da96 commit c63f9c9

File tree

3 files changed

+23
-0
lines changed

3 files changed

+23
-0
lines changed

python/gui/qgscolorwidgets.sip

+1
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,7 @@ class QgsColorRampWidget : QgsColorWidget
373373
protected:
374374

375375
virtual void mouseMoveEvent( QMouseEvent *event );
376+
virtual void wheelEvent( QWheelEvent* event );
376377
virtual void mousePressEvent( QMouseEvent *event );
377378
virtual void keyPressEvent( QKeyEvent * event );
378379
};

src/gui/qgscolorwidgets.cpp

+21
Original file line numberDiff line numberDiff line change
@@ -1178,6 +1178,27 @@ void QgsColorRampWidget::mouseMoveEvent( QMouseEvent *event )
11781178
QgsColorWidget::mouseMoveEvent( event );
11791179
}
11801180

1181+
void QgsColorRampWidget::wheelEvent( QWheelEvent *event )
1182+
{
1183+
int oldValue = componentValue();
1184+
1185+
if ( event->delta() > 0 )
1186+
{
1187+
setComponentValue( componentValue() + 1 );
1188+
}
1189+
else
1190+
{
1191+
setComponentValue( componentValue() - 1 );
1192+
}
1193+
1194+
if ( componentValue() != oldValue )
1195+
{
1196+
//value has changed
1197+
emit colorChanged( mCurrentColor );
1198+
emit valueChanged( componentValue() );
1199+
}
1200+
}
1201+
11811202
void QgsColorRampWidget::mousePressEvent( QMouseEvent *event )
11821203
{
11831204
setColorFromPoint( event->posF() );

src/gui/qgscolorwidgets.h

+1
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,7 @@ class GUI_EXPORT QgsColorRampWidget : public QgsColorWidget
515515
protected:
516516

517517
virtual void mouseMoveEvent( QMouseEvent *event ) override;
518+
virtual void wheelEvent( QWheelEvent* event ) override;
518519
virtual void mousePressEvent( QMouseEvent *event ) override;
519520
virtual void keyPressEvent( QKeyEvent * event ) override;
520521

0 commit comments

Comments
 (0)