QskSlider API cleanup

This commit is contained in:
Uwe Rathmann 2024-11-28 15:55:57 +01:00
parent 9d13cd1edf
commit d9a66e4a98
3 changed files with 19 additions and 38 deletions

View File

@ -56,7 +56,7 @@ class QskSlider::PrivateData
: pressedValue( 0 ) : pressedValue( 0 )
, hasOrigin( false ) , hasOrigin( false )
, tracking( true ) , tracking( true )
, moving( false ) , dragging( false )
, orientation( orientation ) , orientation( orientation )
{ {
} }
@ -68,7 +68,7 @@ class QskSlider::PrivateData
bool hasOrigin : 1; bool hasOrigin : 1;
bool tracking : 1; bool tracking : 1;
bool moving : 1; bool dragging : 1;
uint orientation : 2; uint orientation : 2;
}; };
@ -97,11 +97,6 @@ QskSlider::~QskSlider()
{ {
} }
bool QskSlider::isPressed() const
{
return hasSkinState( Pressed );
}
void QskSlider::setOrientation( Qt::Orientation orientation ) void QskSlider::setOrientation( Qt::Orientation orientation )
{ {
if ( orientation != m_data->orientation ) if ( orientation != m_data->orientation )
@ -213,7 +208,6 @@ void QskSlider::mousePressEvent( QMouseEvent* event )
} }
setSkinStateFlag( Pressed ); setSkinStateFlag( Pressed );
Q_EMIT pressedChanged( true );
m_data->pressedPos = pos; m_data->pressedPos = pos;
m_data->pressedValue = value(); m_data->pressedValue = value();
@ -221,7 +215,7 @@ void QskSlider::mousePressEvent( QMouseEvent* event )
void QskSlider::mouseMoveEvent( QMouseEvent* event ) void QskSlider::mouseMoveEvent( QMouseEvent* event )
{ {
if ( !isPressed() ) if ( !hasSkinState( Pressed ) )
return; return;
const auto mousePos = qskMousePosition( event ); const auto mousePos = qskMousePosition( event );
@ -242,9 +236,9 @@ void QskSlider::mouseMoveEvent( QMouseEvent* event )
if ( m_data->tracking ) if ( m_data->tracking )
{ {
m_data->moving = true; m_data->dragging = true;
setValue( newValue ); setValue( newValue );
m_data->moving = false; m_data->dragging = false;
} }
else else
{ {
@ -259,18 +253,12 @@ void QskSlider::mouseReleaseEvent( QMouseEvent* )
Q_EMIT valueChanged( value() ); Q_EMIT valueChanged( value() );
setSkinStateFlag( Pressed, false ); setSkinStateFlag( Pressed, false );
Q_EMIT pressedChanged( false );
}
qreal QskSlider::handlePosition() const
{
return positionHint( Handle );
} }
void QskSlider::moveHandle() void QskSlider::moveHandle()
{ {
QskAnimationHint hint; QskAnimationHint hint;
if ( !m_data->moving ) if ( !m_data->dragging )
{ {
const auto aspect = Handle | QskAspect::Metric | QskAspect::Position; const auto aspect = Handle | QskAspect::Metric | QskAspect::Position;
hint = animationHint( aspect | skinStates() ); hint = animationHint( aspect | skinStates() );

View File

@ -13,8 +13,6 @@ class QSK_EXPORT QskSlider : public QskBoundedValueInput
{ {
Q_OBJECT Q_OBJECT
Q_PROPERTY( bool isPressed READ isPressed NOTIFY pressedChanged )
Q_PROPERTY( Qt::Orientation orientation READ orientation Q_PROPERTY( Qt::Orientation orientation READ orientation
WRITE setOrientation NOTIFY orientationChanged ) WRITE setOrientation NOTIFY orientationChanged )
@ -24,8 +22,6 @@ class QSK_EXPORT QskSlider : public QskBoundedValueInput
Q_PROPERTY( qreal origin READ origin Q_PROPERTY( qreal origin READ origin
WRITE setOrigin RESET resetOrigin NOTIFY originChanged ) WRITE setOrigin RESET resetOrigin NOTIFY originChanged )
Q_PROPERTY( qreal handlePosition READ handlePosition )
using Inherited = QskBoundedValueInput; using Inherited = QskBoundedValueInput;
public: public:
@ -37,8 +33,6 @@ class QSK_EXPORT QskSlider : public QskBoundedValueInput
~QskSlider() override; ~QskSlider() override;
bool isPressed() const;
void setOrientation( Qt::Orientation ); void setOrientation( Qt::Orientation );
Qt::Orientation orientation() const; Qt::Orientation orientation() const;
@ -56,7 +50,6 @@ class QSK_EXPORT QskSlider : public QskBoundedValueInput
void setOrigin( qreal ); void setOrigin( qreal );
Q_SIGNALS: Q_SIGNALS:
void pressedChanged( bool );
void orientationChanged( Qt::Orientation ); void orientationChanged( Qt::Orientation );
void trackingChanged( bool ); void trackingChanged( bool );
void originChanged( qreal ); void originChanged( qreal );

View File

@ -249,12 +249,12 @@ QRectF QskSliderSkinlet::fillRect(
return QRectF(); return QRectF();
auto pos1 = slider->valueAsRatio( slider->origin() ); auto pos1 = slider->valueAsRatio( slider->origin() );
auto pos2 = qBound( 0.0, slider->handlePosition(), 1.0 ); auto pos2 = qBound( 0.0, slider->positionHint( Q::Handle ), 1.0 );
if ( pos1 > pos2 ) if ( pos1 > pos2 )
qSwap( pos1, pos2 ); qSwap( pos1, pos2 );
auto r = qskInnerRect( slider, contentsRect, QskSlider::Fill ); auto r = qskInnerRect( slider, contentsRect, Q::Fill );
auto scaleRect = subControlRect( slider, contentsRect, Q::Scale ); auto scaleRect = subControlRect( slider, contentsRect, Q::Scale );
@ -280,7 +280,7 @@ QRectF QskSliderSkinlet::handleRect(
const QskSlider* slider, const QRectF& contentsRect ) const const QskSlider* slider, const QRectF& contentsRect ) const
{ {
auto handleSize = slider->strutSizeHint( Q::Handle ); auto handleSize = slider->strutSizeHint( Q::Handle );
const auto pos = qBound( 0.0, slider->handlePosition(), 1.0 ); const auto pos = qBound( 0.0, slider->positionHint( Q::Handle ), 1.0 );
const auto r = subControlRect( slider, contentsRect, Q::Scale ); const auto r = subControlRect( slider, contentsRect, Q::Scale );
auto center = r.center(); auto center = r.center();