void SoQtThumbWheel::mouseReleaseEvent(QMouseEvent * event) { if (this->state != SoQtThumbWheel::Dragging) return; if (event->button() != Qt::LeftButton) return; this->wheelValue = this->tempWheelValue; this->mouseLastPos = this->mouseDownPos; this->state = SoQtThumbWheel::Idle; emit wheelReleased(); }
void QwtWheel::mouseReleaseEvent( QMouseEvent *event ) { Q_UNUSED( event ); if ( !d_data->isScrolling ) return; d_data->isScrolling = false; bool startFlying = false; if ( d_data->mass > 0.0 ) { const int ms = d_data->time.elapsed(); if ( ( qFabs( d_data->speed ) > 0.0 ) && ( ms < 50 ) ) startFlying = true; } if ( startFlying ) { d_data->flyingValue = boundedValue( d_data->mouseValue - d_data->mouseOffset ); d_data->timerId = startTimer( d_data->updateInterval ); } else { if ( d_data->pendingValueChanged ) Q_EMIT valueChanged( d_data->value ); } d_data->pendingValueChanged = false; d_data->mouseOffset = 0.0; Q_EMIT wheelReleased(); }