From 48a902a660710dad133b867a20502aeb1647d0f7 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Tue, 12 Jul 2022 14:21:50 +0200 Subject: [PATCH] scroll view: Allow styling via panel --- skins/material3/QskMaterial3Skin.cpp | 2 ++ src/controls/QskScrollViewSkinlet.cpp | 6 +++++- src/controls/QskScrollViewSkinlet.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) 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,