From 9ab96db7573d00e236a9051f9caa2edaffac1aaf Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Thu, 16 Jun 2022 09:47:17 +0200 Subject: [PATCH] style segmented bar --- skins/material/QskMaterialSkin.cpp | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/skins/material/QskMaterialSkin.cpp b/skins/material/QskMaterialSkin.cpp index f84bf9ff..df439d81 100644 --- a/skins/material/QskMaterialSkin.cpp +++ b/skins/material/QskMaterialSkin.cpp @@ -336,7 +336,9 @@ void Editor::setupSegmentedBar() // Panel setPadding( Q::Panel, 0 ); - setSpacing( Q::Panel, 5 ); + setSpacing( Q::Panel, 0 ); + + setBoxShape( Q::Panel, 100, Qt::RelativeSize ); setBoxBorderMetrics( Q::Panel, 1 ); setBoxBorderColors( Q::Panel, m_pal.outline ); @@ -350,11 +352,24 @@ void Editor::setupSegmentedBar() { // Segment - setPadding( Q::Segment, QskMargins( 2, 5, 2, 5 ) ); + setGradient( Q::Segment, Qt::transparent ); + + // ### resolve this problem: +// setBoxBorderMetrics( Q::Segment, 0, 0, 1, 0 ); +// setBoxBorderColors( Q::Segment, m_pal.outline ); } { // Cursor + setMargin( Q::Cursor, 1 ); + setBoxShape( Q::Cursor, 0 ); + + setBoxShape( Q::Cursor | Q::Minimum | A::Horizontal, 100, 0, 100, 0, Qt::RelativeSize ); + setBoxShape( Q::Cursor | Q::Maximum | A::Horizontal, 0, 100, 0, 100, Qt::RelativeSize ); + + setBoxShape( Q::Cursor | Q::Minimum | A::Vertical, 100, 100, 0, 0, Qt::RelativeSize ); + setBoxShape( Q::Cursor | Q::Maximum | A::Vertical, 0, 0, 100, 100, Qt::RelativeSize ); + setGradient( Q::Cursor, m_pal.secondaryContainer ); QColor c1( m_pal.onSurface ); c1.setAlphaF( 0.12 ); @@ -363,11 +378,6 @@ void Editor::setupSegmentedBar() setAnimation( Q::Cursor | A::Metric | A::Position, 100 ); } - for( auto subControl : { Q::Panel, Q::Cursor } ) - { - setBoxShape( subControl, 100, Qt::RelativeSize ); - } - { // Text @@ -378,10 +388,8 @@ void Editor::setupSegmentedBar() { // Graphic -#if 0 - setGraphicRole( Q::Graphic, ... ); - setStrutSize( Q::Graphic, ... ); -#endif + setPadding( Q::Graphic, 10 ); + setMargin( Q::Graphic, 10 ); } }