From 8a75c40fd6c14f6889cb305b6c36cfd987d137f2 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Wed, 28 Nov 2012 00:10:11 +0100 Subject: [PATCH] Widgets/Fader: open input dialog on double click There have been requests to have an input dialog when double clicking the fader (like we have it for knobs for ages already). Closes #3588157. --- include/fader.h | 1 + src/gui/widgets/fader.cpp | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/include/fader.h b/include/fader.h index 842b30cb6..02bc475c2 100644 --- a/include/fader.h +++ b/include/fader.h @@ -74,6 +74,7 @@ public: private: virtual void contextMenuEvent( QContextMenuEvent * _me ); virtual void mousePressEvent( QMouseEvent *ev ); + virtual void mouseDoubleClickEvent( QMouseEvent* mouseEvent ); virtual void mouseMoveEvent( QMouseEvent *ev ); virtual void mouseReleaseEvent( QMouseEvent * _me ); virtual void wheelEvent( QWheelEvent *ev ); diff --git a/src/gui/widgets/fader.cpp b/src/gui/widgets/fader.cpp index 84c4bf31b..e9e14b2c4 100644 --- a/src/gui/widgets/fader.cpp +++ b/src/gui/widgets/fader.cpp @@ -45,6 +45,7 @@ */ +#include #include #include #include @@ -154,6 +155,27 @@ void fader::mousePressEvent( QMouseEvent* mouseEvent ) +void fader::mouseDoubleClickEvent( QMouseEvent* mouseEvent ) +{ + bool ok; + + // TODO: dbV handling + int newValue = QInputDialog::getInteger( this, windowTitle(), + tr( "Please enter a new value between %1 and %2:" ). + arg( model()->minValue()*100 ). + arg( model()->maxValue()*100 ), + model()->value()*100, + model()->minValue()*100, + model()->maxValue()*100, 1, &ok ); + + if( ok ) + { + model()->setValue( newValue / 100.0f ); + } +} + + + void fader::mouseReleaseEvent( QMouseEvent * _me ) { s_textFloat->hide();