diff --git a/skins/material3/QskMaterial3Skin.cpp b/skins/material3/QskMaterial3Skin.cpp index d3140583..502d30ef 100644 --- a/skins/material3/QskMaterial3Skin.cpp +++ b/skins/material3/QskMaterial3Skin.cpp @@ -757,6 +757,8 @@ void Editor::setupScrollView() using A = QskAspect; using Q = QskScrollView; + setGradient( Q::Panel, m_pal.background ); + setGradient( Q::Viewport, m_pal.secondaryContainer ); for ( auto subControl : { Q::HorizontalScrollBar, Q::VerticalScrollBar } ) diff --git a/src/controls/QskScrollViewSkinlet.cpp b/src/controls/QskScrollViewSkinlet.cpp index c653d680..580610e3 100644 --- a/src/controls/QskScrollViewSkinlet.cpp +++ b/src/controls/QskScrollViewSkinlet.cpp @@ -41,7 +41,7 @@ static void qskAlignedHandle( qreal start, qreal end, QskScrollViewSkinlet::QskScrollViewSkinlet( QskSkin* skin ) : Inherited( skin ) { - setNodeRoles( { ViewportRole, ContentsRootRole, + setNodeRoles( { PanelRole, ViewportRole, ContentsRootRole, HorizontalScrollBarRole, HorizontalScrollHandleRole, VerticalScrollBarRole, VerticalScrollHandleRole } ); } @@ -93,6 +93,10 @@ QSGNode* QskScrollViewSkinlet::updateSubNode( switch ( nodeRole ) { + case PanelRole: + { + return updateBoxNode( skinnable, node, QskScrollView::Panel ); + } case ViewportRole: { return updateBoxNode( skinnable, node, QskScrollView::Viewport ); diff --git a/src/controls/QskScrollViewSkinlet.h b/src/controls/QskScrollViewSkinlet.h index 0292932a..df0cf2c2 100644 --- a/src/controls/QskScrollViewSkinlet.h +++ b/src/controls/QskScrollViewSkinlet.h @@ -19,6 +19,7 @@ class QSK_EXPORT QskScrollViewSkinlet : public QskSkinlet public: enum NodeRole { + PanelRole, ViewportRole, ContentsRootRole,