Catching QSpinBox text field mouseEvents
===

I have a reimplemented QDoubleSpinBox.  I would like to catch `mouseDoubleClickEvent` to enable the user to change `singleStep` by way of `QInputDialog::getDouble()`.

My problem is that when I reimplement the `mouseDoubleClickEvent` I only catch double clicks that occur over the arrow buttons.  I actually want to ignore double clicks that occur in the arrows and only catch double clicks that occur in the text field.  I have a feeling that I need to reimplement the mouseDoubleClickEvent of a child of the QDoubleSpinBox, but I'm not sure how to reimplement a child event nor how to select the correct child See my attempt at limiting to a child QRect in code: I think I need to specify which child...?

Thanks.

Edit: corrected class declaration/definition name mismatch.

MyQDoubleSpinBox.h

    class MyQDoubleSpinBox : public QDoubleSpinBox
    {
    	Q_OBJECT
    
    public:
    	MyQDoubleSpinBox(QString str, QWidget *parent = 0);
    	~MyQDoubleSpinBox();
    
    public slots:
    	void setStepSize(double step);
    
    private:
    	double stepSize;
    	QString name;
    
    protected:
    	void mouseDoubleClickEvent(QMouseEvent *e);
    };

MyQDoubleSpinBox.cpp

    #include "MyQDoubleSpinBox.h"
    
    MyQDoubleSpinBox::MyQDoubleSpinBox(QString str, QWidget *parent)
    	:	QDoubleSpinBox(parent), stepSize(1.00), name(str)
    {
    	this->setMinimumWidth(150);
    	this->setSingleStep(stepSize);
    	this->setMinimum(0.0);
    	this->setMaximum(100.0);
    }
    
    MyQDoubleSpinBox::~MyQDoubleSpinBox()
    {
    
    }
    
    void MyQDoubleSpinBox::setStepSize(double step)
    {
    	this->setSingleStep(step);
    }
    
    void MyQDoubleSpinBox::mouseDoubleClickEvent(QMouseEvent *e)
    {
    	if( this->childrenRect().contains(e->pos()) )
        {
    		bool ok;
    		double d = QInputDialog::getDouble(this,
    			name,
    			tr("Step Size:"),
    			this->singleStep(),
    			0.0,
    			1000.0,
    			2,
    			&ok);

    		if(ok)
    			this->setSingleStep(d);
    	}
    }

