From cd42cc8ad8177b8cce4ae9b84b1da8d6794b1357 Mon Sep 17 00:00:00 2001 From: Clemens Manert Date: Wed, 26 Apr 2023 23:46:10 +0200 Subject: [PATCH] Drawer can now slide in from different edges --- src/layouts/QskDrawer.cpp | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/src/layouts/QskDrawer.cpp b/src/layouts/QskDrawer.cpp index 4915f11a..d1ba998a 100644 --- a/src/layouts/QskDrawer.cpp +++ b/src/layouts/QskDrawer.cpp @@ -67,19 +67,38 @@ void QskDrawer::updateLayout() { switch( m_data->edge ) { case Qt::Edge::LeftEdge: + { + qreal off = metric( faderAspect() ) * size.width(); + qskSetItemGeometry( m_data->contentBox, + -off, 0, size.width(), size.height()); + break; + } case Qt::Edge::RightEdge: - // rect.setWidth( m_data->control->preferredSize().width() ); - break; + { + qreal off = metric( faderAspect() ) * size.width(); + qskSetItemGeometry( m_data->contentBox, + size.width() + off, 0, size.width(), size.height()); + break; + } case Qt::Edge::TopEdge: + { + qreal off = metric( faderAspect() ) * size.height(); + qskSetItemGeometry( m_data->contentBox, + 0, -off, size.width(), size.height()); + break; + } + case Qt::Edge::BottomEdge: - // rect.setHeight( m_data->control->preferredSize().height() ); + { + qreal off = metric( faderAspect() ) * size.height(); + qskSetItemGeometry( m_data->contentBox, + 0, size.height() + off, size.width(), size.height()); + break; + } break; - } - - qreal off = metric( faderAspect() ) * size.width(); - qskSetItemGeometry( m_data->contentBox, -off, 0, size.width(), size.height()); + } Inherited::updateLayout(); }