From dcc4cee5da65417950a280fe157d757981b87a7e Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Thu, 19 Oct 2017 15:11:55 +0200 Subject: [PATCH] using updateBoxNode for the popup overlay --- src/controls/QskPopupSkinlet.cpp | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/src/controls/QskPopupSkinlet.cpp b/src/controls/QskPopupSkinlet.cpp index fca335c8..bb307b53 100644 --- a/src/controls/QskPopupSkinlet.cpp +++ b/src/controls/QskPopupSkinlet.cpp @@ -5,8 +5,6 @@ #include "QskPopupSkinlet.h" #include "QskPopup.h" -#include "QskBoxNode.h" -#include "QskBoxOptions.h" QskPopupSkinlet::QskPopupSkinlet( QskSkin* skin ): Inherited( skin ) @@ -30,39 +28,13 @@ QRectF QskPopupSkinlet::subControlRect( QSGNode* QskPopupSkinlet::updateSubNode( const QskSkinnable* skinnable, quint8 nodeRole, QSGNode* node ) const { - const auto popup = static_cast< const QskPopup* >( skinnable ); - switch( nodeRole ) { case OverlayRole: - { - return updateOverlayNode( popup, node ); - } + return updateBoxNode( skinnable, node, QskPopup::Overlay ); } return Inherited::updateSubNode( skinnable, nodeRole, node ); } -QSGNode* QskPopupSkinlet::updateOverlayNode( - const QskPopup* popup, QSGNode* node ) const -{ - const QRectF rect = subControlRect( popup, QskPopup::Overlay ); - if ( rect.isEmpty() ) - return nullptr; - - const QskGradient gradient = popup->gradientHint( QskPopup::Overlay ); - if ( !gradient.isValid() ) - return nullptr; - - auto rectNode = static_cast< QskBoxNode* >( node ); - if ( rectNode == nullptr ) - rectNode = new QskBoxNode(); - - QskBoxOptions options; - options.fillGradient = gradient; - rectNode->setBoxData( rect, options ); - - return rectNode; -} - #include "moc_QskPopupSkinlet.cpp"