void QvisOpacitySlider::mousePressEvent(QMouseEvent *e) { resetState(); sliderStartVal = sliderVal; QRect r = sliderRect(); if(e->button() == Qt::RightButton) { return; } else if(r.contains(e->pos())) { state = Dragging; clickOffset = (int)(e->pos().x() - sliderPos); // emit sliderPressed(); } else if(e->button() == Qt::MidButton) { int pos = e->pos().x(); moveSlider(pos - sliderLength() / 2); state = Dragging; clickOffset = sliderLength() / 2; } else if(e->pos().x() < r.left()) { state = TimingDown; subtractPage(); if(!timer) timer = new QTimer(this); connect( timer, SIGNAL(timeout()), SLOT(repeatTimeout())); timer->setSingleShot(true); timer->start(thresholdTime); } else if(e->pos().x() > r.right()) { state = TimingUp; addPage(); if(!timer) timer = new QTimer(this); connect(timer, SIGNAL(timeout()), SLOT(repeatTimeout())); timer->setSingleShot(true); timer->start(thresholdTime); } }
/*!\reimp */ void QSlider::mousePressEvent( QMouseEvent *e ) { resetState(); sliderStartVal = sliderVal; QRect r = sliderRect(); if ( e->button() == RightButton ) { return; } else if ( r.contains( e->pos() ) ) { state = Dragging; clickOffset = (QCOORD)( goodPart( e->pos() ) - sliderPos ); emit sliderPressed(); } else if ( e->button() == MidButton || (funnyWindowsStyle && style() == WindowsStyle) ) { int pos = goodPart( e->pos() ); moveSlider( pos - slideLength() / 2 ); state = Dragging; clickOffset = slideLength() / 2; } else if ( orient == Horizontal && e->pos().x() < r.left() //### goodPart || orient == Vertical && e->pos().y() < r.top() ) { state = TimingDown; subtractPage(); if ( !timer ) timer = new QTimer( this ); connect( timer, SIGNAL(timeout()), SLOT(repeatTimeout()) ); timer->start( thresholdTime, TRUE ); } else if ( orient == Horizontal && e->pos().x() > r.right() //### goodPart || orient == Vertical && e->pos().y() > r.bottom() ) { state = TimingUp; addPage(); if ( !timer ) timer = new QTimer( this ); connect( timer, SIGNAL(timeout()), SLOT(repeatTimeout()) ); timer->start( thresholdTime, TRUE ); } }