QskDrawer improvements

This commit is contained in:
Uwe Rathmann 2023-10-17 14:36:44 +02:00
parent d85d0a0338
commit d0cd48f8c2
2 changed files with 14 additions and 4 deletions

View File

@ -261,11 +261,11 @@ namespace
connect( header, &Header::enabledToggled, connect( header, &Header::enabledToggled,
tabView, &TabView::setPagesEnabled ); tabView, &TabView::setPagesEnabled );
auto drawer = new Drawer( this ); auto drawer = new Drawer( tabView );
drawer->setEdge( Qt::RightEdge ); drawer->setEdge( Qt::RightEdge );
connect( header, &Header::drawerRequested, connect( header, &Header::drawerRequested,
drawer, &QskPopup::open ); drawer, &QskPopup::toggle );
setHeader( header ); setHeader( header );
setBody( tabView ); setBody( tabView );

View File

@ -218,7 +218,6 @@ QskDrawer::QskDrawer( QQuickItem* parentItem )
setZ( 1 ); setZ( 1 );
#endif #endif
setOverlay( true );
setPolishOnResize( true ); setPolishOnResize( true );
setPopupFlag( PopupFlag::CloseOnPressOutside, true ); setPopupFlag( PopupFlag::CloseOnPressOutside, true );
@ -399,6 +398,17 @@ void QskDrawer::itemChange( QQuickItem::ItemChange change,
switch( static_cast< int >( change ) ) switch( static_cast< int >( change ) )
{ {
case QQuickItem::ItemChildAddedChange:
case QQuickItem::ItemChildRemovedChange:
{
if ( qskIsVisibleToLayout( value.item ) )
resetImplicitSize();
if ( qskIsAdjustableByLayout( value.item ) )
polish();
break;
}
case QQuickItem::ItemParentHasChanged: case QQuickItem::ItemParentHasChanged:
{ {
if ( parentItem() ) if ( parentItem() )
@ -427,7 +437,7 @@ void QskDrawer::setFading( bool on )
const auto aspect = faderAspect(); const auto aspect = faderAspect();
auto hint = animationHint( aspect ); auto hint = animationHint( aspect );
hint.updateFlags = QskAnimationHint::UpdatePolish | QskAnimationHint::UpdateNode; hint.updateFlags = QskAnimationHint::UpdatePolish;
startTransition( aspect, hint, from, to ); startTransition( aspect, hint, from, to );
} }