diff --git a/skins/fluent2/QskFluent2Skin.cpp b/skins/fluent2/QskFluent2Skin.cpp index 30829413..963e22a3 100644 --- a/skins/fluent2/QskFluent2Skin.cpp +++ b/skins/fluent2/QskFluent2Skin.cpp @@ -745,8 +745,8 @@ void Editor::setupMenuMetrics() setPadding( Q::Icon, { 8, 8, 0, 8 } ); #if 1 - setPosition( Q::Panel, 0 ); - setPosition( Q::Panel | QskPopup::Closed, 1 ); + setPosition( Q::Panel, 1 ); + setPosition( Q::Panel | QskPopup::Closed, 0 ); // copied from Mat3 - what are the correct values for Fluent2 ??? setAnimation( Q::Panel | A::Metric, 150 ); diff --git a/skins/material3/QskMaterial3Skin.cpp b/skins/material3/QskMaterial3Skin.cpp index 9ea1c054..f5780f04 100644 --- a/skins/material3/QskMaterial3Skin.cpp +++ b/skins/material3/QskMaterial3Skin.cpp @@ -378,8 +378,8 @@ void Editor::setupMenu() setColor( Q::Text, m_pal.onSurface ); setFontRole( Q::Text, QskMaterial3Skin::M3BodyMedium ); - setPosition( Q::Panel, 0 ); - setPosition( Q::Panel | QskPopup::Closed, 1 ); + setPosition( Q::Panel, 1 ); + setPosition( Q::Panel | QskPopup::Closed, 0 ); setAnimation( Q::Panel | A::Metric, 150 ); setAnimation( Q::Cursor | A::Position | A::Metric, 75, QEasingCurve::OutCubic ); diff --git a/skins/squiek/QskSquiekSkin.cpp b/skins/squiek/QskSquiekSkin.cpp index c5ea53ab..f92ba16a 100644 --- a/skins/squiek/QskSquiekSkin.cpp +++ b/skins/squiek/QskSquiekSkin.cpp @@ -446,8 +446,8 @@ void Editor::setupMenu() setGraphicRole( Q::Icon | Q::Disabled, DisabledSymbol ); setGraphicRole( Q::Icon | Q::Selected, CursorSymbol ); - setPosition( Q::Panel, 0 ); - setPosition( Q::Panel | QskPopup::Closed, 1 ); + setPosition( Q::Panel, 1 ); + setPosition( Q::Panel | QskPopup::Closed, 0 ); setAnimation( Q::Panel | A::Metric, 150 ); setAnimation( Q::Cursor | A::Position | A::Metric, 75, QEasingCurve::OutCubic ); diff --git a/src/controls/QskDrawer.cpp b/src/controls/QskDrawer.cpp index 55a8d33f..614271d2 100644 --- a/src/controls/QskDrawer.cpp +++ b/src/controls/QskDrawer.cpp @@ -108,6 +108,8 @@ static inline QRectF qskSlidingRect( auto x = 0.0; auto y = 0.0; + ratio = 1.0 - ratio; + switch( edge ) { case Qt::LeftEdge: @@ -437,7 +439,7 @@ QRectF QskDrawer::layoutRectForSize( const QSizeF& size ) const if ( isFading() ) ratio = metric( faderAspect() ); else - ratio = isOpen() ? 0.0 : 1.0; + ratio = isOpen() ? 1.0 : 0.0; return qskSlidingRect( size, m_data->edge, ratio ); } @@ -467,8 +469,11 @@ void QskDrawer::itemChange( QQuickItem::ItemChange change, void QskDrawer::setFading( bool on ) { - const qreal from = on ? 1.0 : 0.0; - const qreal to = on ? 0.0 : 1.0; + if ( !hasFaderEffect() ) + return; + + const qreal from = on ? 0.0 : 1.0; + const qreal to = on ? 1.0 : 0.0; const auto aspect = faderAspect(); diff --git a/src/nodes/QskSlideInNode.cpp b/src/nodes/QskSlideInNode.cpp index 6c77b366..24590845 100644 --- a/src/nodes/QskSlideInNode.cpp +++ b/src/nodes/QskSlideInNode.cpp @@ -59,7 +59,7 @@ void QskSlideInNode::updateTranslation( const QRectF& rect, { // clipping - if ( progress > 0.0 && progress <= 1.0 ) + if ( progress >= 0.0 && progress < 1.0 ) { if ( d->clipNode == nullptr ) { @@ -85,7 +85,7 @@ void QskSlideInNode::updateTranslation( const QRectF& rect, // translation qreal dx = 0.0; - qreal dy = -progress* rect.height(); + qreal dy = ( progress - 1.0 ) * rect.height(); if ( dx != 0.0 || dy != 0.0 ) {