From d9a66e4a98407d72b9a078ea0b8a99af6aadf009 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Thu, 28 Nov 2024 15:55:57 +0100 Subject: [PATCH] QskSlider API cleanup --- src/controls/QskSlider.cpp | 44 +++++++++++-------------------- src/controls/QskSlider.h | 7 ----- src/controls/QskSliderSkinlet.cpp | 6 ++--- 3 files changed, 19 insertions(+), 38 deletions(-) diff --git a/src/controls/QskSlider.cpp b/src/controls/QskSlider.cpp index 8b04275f..ad4e776c 100644 --- a/src/controls/QskSlider.cpp +++ b/src/controls/QskSlider.cpp @@ -56,7 +56,7 @@ class QskSlider::PrivateData : pressedValue( 0 ) , hasOrigin( false ) , tracking( true ) - , moving( false ) + , dragging( false ) , orientation( orientation ) { } @@ -68,7 +68,7 @@ class QskSlider::PrivateData bool hasOrigin : 1; bool tracking : 1; - bool moving : 1; + bool dragging : 1; uint orientation : 2; }; @@ -97,11 +97,6 @@ QskSlider::~QskSlider() { } -bool QskSlider::isPressed() const -{ - return hasSkinState( Pressed ); -} - void QskSlider::setOrientation( Qt::Orientation orientation ) { if ( orientation != m_data->orientation ) @@ -124,30 +119,30 @@ Qt::Orientation QskSlider::orientation() const } void QskSlider::setOrigin( qreal origin ) -{ +{ if ( isComponentComplete() ) origin = boundedValue( origin ); - + if( !m_data->hasOrigin || !qskFuzzyCompare( m_data->origin, origin ) ) - { + { m_data->hasOrigin = true; m_data->origin = origin; - + update(); Q_EMIT originChanged( origin ); - } -} - + } +} + void QskSlider::resetOrigin() -{ +{ if ( m_data->hasOrigin ) { m_data->hasOrigin = false; - + update(); Q_EMIT originChanged( origin() ); } -} +} qreal QskSlider::origin() const { @@ -213,7 +208,6 @@ void QskSlider::mousePressEvent( QMouseEvent* event ) } setSkinStateFlag( Pressed ); - Q_EMIT pressedChanged( true ); m_data->pressedPos = pos; m_data->pressedValue = value(); @@ -221,7 +215,7 @@ void QskSlider::mousePressEvent( QMouseEvent* event ) void QskSlider::mouseMoveEvent( QMouseEvent* event ) { - if ( !isPressed() ) + if ( !hasSkinState( Pressed ) ) return; const auto mousePos = qskMousePosition( event ); @@ -242,9 +236,9 @@ void QskSlider::mouseMoveEvent( QMouseEvent* event ) if ( m_data->tracking ) { - m_data->moving = true; + m_data->dragging = true; setValue( newValue ); - m_data->moving = false; + m_data->dragging = false; } else { @@ -259,18 +253,12 @@ void QskSlider::mouseReleaseEvent( QMouseEvent* ) Q_EMIT valueChanged( value() ); setSkinStateFlag( Pressed, false ); - Q_EMIT pressedChanged( false ); -} - -qreal QskSlider::handlePosition() const -{ - return positionHint( Handle ); } void QskSlider::moveHandle() { QskAnimationHint hint; - if ( !m_data->moving ) + if ( !m_data->dragging ) { const auto aspect = Handle | QskAspect::Metric | QskAspect::Position; hint = animationHint( aspect | skinStates() ); diff --git a/src/controls/QskSlider.h b/src/controls/QskSlider.h index 79eb5c21..10d4ef27 100644 --- a/src/controls/QskSlider.h +++ b/src/controls/QskSlider.h @@ -13,8 +13,6 @@ class QSK_EXPORT QskSlider : public QskBoundedValueInput { Q_OBJECT - Q_PROPERTY( bool isPressed READ isPressed NOTIFY pressedChanged ) - Q_PROPERTY( Qt::Orientation orientation READ orientation WRITE setOrientation NOTIFY orientationChanged ) @@ -24,8 +22,6 @@ class QSK_EXPORT QskSlider : public QskBoundedValueInput Q_PROPERTY( qreal origin READ origin WRITE setOrigin RESET resetOrigin NOTIFY originChanged ) - Q_PROPERTY( qreal handlePosition READ handlePosition ) - using Inherited = QskBoundedValueInput; public: @@ -37,8 +33,6 @@ class QSK_EXPORT QskSlider : public QskBoundedValueInput ~QskSlider() override; - bool isPressed() const; - void setOrientation( Qt::Orientation ); Qt::Orientation orientation() const; @@ -56,7 +50,6 @@ class QSK_EXPORT QskSlider : public QskBoundedValueInput void setOrigin( qreal ); Q_SIGNALS: - void pressedChanged( bool ); void orientationChanged( Qt::Orientation ); void trackingChanged( bool ); void originChanged( qreal ); diff --git a/src/controls/QskSliderSkinlet.cpp b/src/controls/QskSliderSkinlet.cpp index d9bedf91..eecfcf34 100644 --- a/src/controls/QskSliderSkinlet.cpp +++ b/src/controls/QskSliderSkinlet.cpp @@ -249,12 +249,12 @@ QRectF QskSliderSkinlet::fillRect( return QRectF(); 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 ) qSwap( pos1, pos2 ); - auto r = qskInnerRect( slider, contentsRect, QskSlider::Fill ); + auto r = qskInnerRect( slider, contentsRect, Q::Fill ); auto scaleRect = subControlRect( slider, contentsRect, Q::Scale ); @@ -280,7 +280,7 @@ QRectF QskSliderSkinlet::handleRect( const QskSlider* slider, const QRectF& contentsRect ) const { 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 ); auto center = r.center();