diff --git a/skins/material3/QskMaterial3Skin.cpp b/skins/material3/QskMaterial3Skin.cpp index 431f3dd3..37a72242 100644 --- a/skins/material3/QskMaterial3Skin.cpp +++ b/skins/material3/QskMaterial3Skin.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -84,6 +85,7 @@ namespace void setupCheckBox(); void setupComboBox(); void setupDialogButtonBox(); + void setupDrawer(); void setupFocusIndicator(); void setupInputPanel(); void setupVirtualKeyboard(); @@ -150,6 +152,7 @@ void Editor::setup() setupCheckBox(); setupComboBox(); setupDialogButtonBox(); + setupDrawer(); setupFocusIndicator(); setupInputPanel(); setupVirtualKeyboard(); @@ -786,6 +789,13 @@ void Editor::setupDialogButtonBox() setBoxBorderMetrics( Q::Panel, 0 ); } +void Editor::setupDrawer() { + using Q = QskDrawer; + + setAnimation( Q::Panel | QskAspect::Position, 5000 ); + setHint( Q::Overlay | QskAspect::Style, false ); +} + void Editor::setupSlider() { using A = QskAspect; diff --git a/skins/squiek/QskSquiekSkin.cpp b/skins/squiek/QskSquiekSkin.cpp index 9e8e137a..19db9617 100644 --- a/skins/squiek/QskSquiekSkin.cpp +++ b/skins/squiek/QskSquiekSkin.cpp @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -151,6 +152,7 @@ namespace void setupCheckBox(); void setupComboBox(); void setupDialogButtonBox(); + void setupDrawer(); void setupFocusIndicator(); void setupInputPanel(); void setupInputPredictionBar(); @@ -275,6 +277,7 @@ void Editor::setup() setupCheckBox(); setupComboBox(); setupDialogButtonBox(); + setupDrawer(); setupFocusIndicator(); setupInputPanel(); setupInputPredictionBar(); @@ -730,6 +733,13 @@ void Editor::setupDialogButtonBox() setBoxShape( Q::Panel, 2 ); } +void Editor::setupDrawer() { + using Q = QskDrawer; + + setAnimation( Q::Panel | QskAspect::Position, qskDuration ); + setHint( Q::Overlay | QskAspect::Style, false ); +} + void Editor::setupTabButton() { using A = QskAspect; diff --git a/src/layouts/QskDrawer.cpp b/src/layouts/QskDrawer.cpp index 91c3893e..1464656c 100644 --- a/src/layouts/QskDrawer.cpp +++ b/src/layouts/QskDrawer.cpp @@ -8,6 +8,7 @@ #include QSK_SUBCONTROL( QskDrawer, Panel ) +QSK_SUBCONTROL( QskDrawer, Overlay ) class QskDrawer::PrivateData { public: @@ -27,14 +28,11 @@ QskDrawer::QskDrawer( QQuickItem* parentItem ) : m_data->contentBox = new QskBox(this); m_data->contentBox->setSubcontrolProxy( QskBox::Panel, Panel ); - - setAnimationHint( Panel | QskAspect::Position, QskAnimationHint( 5000 ) ); + setSubcontrolProxy( Inherited::Overlay, Overlay ); setFaderAspect( Panel | QskAspect::Metric ); - setSkinHint( Overlay | QskAspect::Style, false ); - - connect(this, &QskDrawer::closed, this, [this](){ + connect(this, &QskDrawer::closed, this, [this]() { startTransition( Panel | QskAspect::Metric, animationHint( Panel | QskAspect::Position ), 0.0, 1.0 ); @@ -146,7 +144,7 @@ void QskDrawer::updateLayout() { } else if( alignment().testFlag( Qt::AlignRight) ) { x = ( parentSize.width() - contentSize.width() ); } - + qskSetItemGeometry( m_data->contentBox, x, y, parentSize.width(), contentSize.height()); diff --git a/src/layouts/QskDrawer.h b/src/layouts/QskDrawer.h index d5a293fa..a2124e9b 100644 --- a/src/layouts/QskDrawer.h +++ b/src/layouts/QskDrawer.h @@ -13,7 +13,7 @@ class QSK_EXPORT QskDrawer : public QskPopup Q_PROPERTY( Qt::Alignment alignment READ alignment WRITE setAlignment NOTIFY alignmentChanged ) public: - QSK_SUBCONTROLS( Panel ) + QSK_SUBCONTROLS( Panel, Overlay ) QskDrawer( QQuickItem* parentItem = nullptr ); ~QskDrawer() override;