mouse handling completed
This commit is contained in:
parent
55d6aa6d5e
commit
a4b2bcde16
@ -60,6 +60,11 @@ class QskSpinBox::PrivateData
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline bool isActivatedByMouse() const
|
||||||
|
{
|
||||||
|
return this->repeatTimer.isActive() && ( this->key == Qt::Key_unknown );
|
||||||
|
}
|
||||||
|
|
||||||
inline void setAutoRepeat( QskSpinBox* spinBox, qreal offset )
|
inline void setAutoRepeat( QskSpinBox* spinBox, qreal offset )
|
||||||
{
|
{
|
||||||
this->autoRepeatIncrement = offset;
|
this->autoRepeatIncrement = offset;
|
||||||
@ -294,7 +299,33 @@ void QskSpinBox::mousePressEvent( QMouseEvent* event )
|
|||||||
|
|
||||||
void QskSpinBox::mouseReleaseEvent( QMouseEvent* )
|
void QskSpinBox::mouseReleaseEvent( QMouseEvent* )
|
||||||
{
|
{
|
||||||
m_data->setAutoRepeat( this, 0.0 );
|
if ( m_data->isActivatedByMouse() )
|
||||||
|
m_data->setAutoRepeat( this, 0.0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
void QskSpinBox::mouseMoveEvent( QMouseEvent* event )
|
||||||
|
{
|
||||||
|
if ( m_data->isActivatedByMouse() )
|
||||||
|
{
|
||||||
|
const auto subcontrol = buttonAt( this, qskMousePosition( event ) );
|
||||||
|
|
||||||
|
if ( m_data->autoRepeatIncrement >= 0.0 )
|
||||||
|
{
|
||||||
|
if ( subcontrol != QskSpinBox::UpPanel )
|
||||||
|
m_data->setAutoRepeat( this, 0.0 );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ( subcontrol != QskSpinBox::DownPanel )
|
||||||
|
m_data->setAutoRepeat( this, 0.0 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void QskSpinBox::mouseUngrabEvent()
|
||||||
|
{
|
||||||
|
if ( m_data->isActivatedByMouse() )
|
||||||
|
m_data->setAutoRepeat( this, 0.0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void QskSpinBox::keyPressEvent( QKeyEvent* event )
|
void QskSpinBox::keyPressEvent( QKeyEvent* event )
|
||||||
|
@ -95,7 +95,9 @@ class QSK_EXPORT QskSpinBox : public QskBoundedValueInput
|
|||||||
void timerEvent( QTimerEvent* ) override;
|
void timerEvent( QTimerEvent* ) override;
|
||||||
|
|
||||||
void mouseReleaseEvent( QMouseEvent* ) override;
|
void mouseReleaseEvent( QMouseEvent* ) override;
|
||||||
|
void mouseMoveEvent( QMouseEvent* ) override;
|
||||||
void mousePressEvent( QMouseEvent* ) override;
|
void mousePressEvent( QMouseEvent* ) override;
|
||||||
|
void mouseUngrabEvent() override;
|
||||||
|
|
||||||
void keyPressEvent( QKeyEvent* ) override;
|
void keyPressEvent( QKeyEvent* ) override;
|
||||||
void keyReleaseEvent( QKeyEvent* ) override;
|
void keyReleaseEvent( QKeyEvent* ) override;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user