From 1b6f3285dca029b525489e183efcf4358d7c4529 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Fri, 27 Jan 2023 16:56:50 +0100 Subject: [PATCH] segmented bar: Improve styling --- examples/gallery/icons/airport_shuttle.svg | 2 +- examples/gallery/icons/flight.svg | 2 +- examples/gallery/icons/local_pizza.svg | 2 +- .../gallery/icons/qvg/airport_shuttle.qvg | Bin 3115 -> 3115 bytes examples/gallery/icons/qvg/flight.qvg | Bin 1015 -> 1015 bytes examples/gallery/icons/qvg/local_pizza.qvg | Bin 2035 -> 2035 bytes examples/gallery/icons/qvg/sports_soccer.qvg | Bin 2855 -> 2855 bytes examples/gallery/icons/sports_soccer.svg | 2 +- skins/material3/QskMaterial3Skin.cpp | 28 ++++++++++++++---- skins/material3/QskMaterial3Skin.h | 3 ++ .../icons/qvg/segmented-button-check.qvg | Bin 575 -> 575 bytes 11 files changed, 29 insertions(+), 10 deletions(-) diff --git a/examples/gallery/icons/airport_shuttle.svg b/examples/gallery/icons/airport_shuttle.svg index 429b665d..77c8c91c 100644 --- a/examples/gallery/icons/airport_shuttle.svg +++ b/examples/gallery/icons/airport_shuttle.svg @@ -1,4 +1,4 @@ - + diff --git a/examples/gallery/icons/flight.svg b/examples/gallery/icons/flight.svg index fac609e6..e58b8009 100644 --- a/examples/gallery/icons/flight.svg +++ b/examples/gallery/icons/flight.svg @@ -1,4 +1,4 @@ - + diff --git a/examples/gallery/icons/local_pizza.svg b/examples/gallery/icons/local_pizza.svg index 37f91bb0..64f80fc5 100644 --- a/examples/gallery/icons/local_pizza.svg +++ b/examples/gallery/icons/local_pizza.svg @@ -1,4 +1,4 @@ - + diff --git a/examples/gallery/icons/qvg/airport_shuttle.qvg b/examples/gallery/icons/qvg/airport_shuttle.qvg index d6e0d203d009dab61b4f36463a8313ef3b3c45c3..b52ec83055db888b4fbdd6ebe152eb3a6af7dcb7 100644 GIT binary patch delta 20 YcmZ22v07q6GuwYKn5f{j@p1$=0C>3zd;kCd delta 20 bcmZ22v07q6Gn7wQ diff --git a/examples/gallery/icons/qvg/flight.qvg b/examples/gallery/icons/qvg/flight.qvg index fc10d77561ab364a13f0cb51b86f7c0ed1e9bca5..d31dd2de2e6a3348b7f8fb4ac244e5cf5158d454 100644 GIT binary patch delta 20 Ycmey){+)e7GuwYKn5f{j@v;gt0D&zFwg3PC delta 20 bcmey){+)e7Gn - + diff --git a/skins/material3/QskMaterial3Skin.cpp b/skins/material3/QskMaterial3Skin.cpp index 20509e74..ffde2ef5 100644 --- a/skins/material3/QskMaterial3Skin.cpp +++ b/skins/material3/QskMaterial3Skin.cpp @@ -439,9 +439,9 @@ void Editor::setupSegmentedBar() { // Container - setGradient( Q::Panel, Qt::transparent ); // ### background + setGradient( Q::Panel, Qt::transparent ); setPadding( Q::Panel, 0 ); - setSpacing( Q::Panel, 8_dp ); // ### messes up the cursor + setSpacing( Q::Panel, 8_dp ); setBoxShape( Q::Panel, 100, Qt::RelativeSize ); @@ -458,8 +458,9 @@ void Editor::setupSegmentedBar() setStrutSize( Q::Segment | A::Horizontal, segmentStrutSize ); setStrutSize( Q::Segment | A::Vertical, segmentStrutSize.transposed() ); - setGradient( Q::Segment, Qt::transparent ); // ### background - setPadding( Q::Segment, 0 ); + setGradient( Q::Segment, Qt::transparent ); + setPadding( Q::Segment | A::Horizontal, { 12_dp, 0, 12_dp, 0 } ); + setPadding( Q::Segment | A::Vertical, { 0, 12_dp, 0, 12_dp } ); } { @@ -469,7 +470,7 @@ void Editor::setupSegmentedBar() setStrutSize( Q::Separator | A::Vertical, segmentStrutSize.height(), 1_dp ); setPadding( Q::Separator, 0 ); setGradient( Q::Separator, m_pal.outline ); - setColor( Q::Separator | Q::Disabled, m_pal.onSurface38 ); + setColor( Q::Separator | Q::Disabled, m_pal.onSurface12 ); } { @@ -492,7 +493,6 @@ void Editor::setupSegmentedBar() setGradient( Q::Cursor, m_pal.secondaryContainer ); setGradient( Q::Cursor | Q::Disabled, m_pal.onSurface12 ); - setAnimation( Q::Cursor | A::Metric | A::Position, 100 ); } { @@ -513,6 +513,10 @@ void Editor::setupSegmentedBar() setPadding( Q::Graphic, 0_dp ); setStrutSize( Q::Graphic, { 18_dp, 18_dp } ); + + setGraphicRole( Q::Graphic, QskMaterial3Skin::GraphicRoleOnSurface ); + setGraphicRole( Q::Graphic | Q::Selected, QskMaterial3Skin::GraphicRoleOnSecondaryContainer ); + setGraphicRole( Q::Graphic | Q::Disabled, QskMaterial3Skin::GraphicRoleOnSurface38 ); } } @@ -1116,10 +1120,22 @@ void QskMaterial3Skin::setupGraphicFilters( const QskMaterial3Theme& palette ) onPrimaryFilter.addColorSubstitution( Qt::white, palette.onPrimary ); setGraphicFilter( GraphicRoleOnPrimary, onPrimaryFilter ); + QskColorFilter onSecondaryContainerFilter; + onSecondaryContainerFilter.addColorSubstitution( Qt::white, palette.onSecondaryContainer ); + setGraphicFilter( GraphicRoleOnSecondaryContainer, onSecondaryContainerFilter ); + QskColorFilter onErrorFilter; onErrorFilter.addColorSubstitution( Qt::white, palette.onError ); setGraphicFilter( GraphicRoleOnError, onErrorFilter ); + QskColorFilter onSurfaceFilter; + onSurfaceFilter.addColorSubstitution( Qt::white, palette.onSurface ); + setGraphicFilter( GraphicRoleOnSurface, onSurfaceFilter ); + + QskColorFilter onSurfaceFilter38; + onSurfaceFilter38.addColorSubstitution( Qt::white, palette.onSurface38 ); + setGraphicFilter( GraphicRoleOnSurface38, onSurfaceFilter38 ); + QskColorFilter surfaceFilter; surfaceFilter.addColorSubstitution( Qt::white, palette.surface ); setGraphicFilter( GraphicRoleSurface, surfaceFilter ); diff --git a/skins/material3/QskMaterial3Skin.h b/skins/material3/QskMaterial3Skin.h index a0299853..1c35b50b 100644 --- a/skins/material3/QskMaterial3Skin.h +++ b/skins/material3/QskMaterial3Skin.h @@ -126,6 +126,9 @@ class QSK_MATERIAL3_EXPORT QskMaterial3Skin : public QskSkin { GraphicRoleOnError, GraphicRoleOnPrimary, + GraphicRoleOnSecondaryContainer, + GraphicRoleOnSurface, + GraphicRoleOnSurface38, GraphicRoleSurface, }; diff --git a/skins/material3/icons/qvg/segmented-button-check.qvg b/skins/material3/icons/qvg/segmented-button-check.qvg index 343402a814f861a7464a28f1533d99694702e97b..b9c74eeae843200968827122c087c09c85fc9df7 100644 GIT binary patch delta 21 ZcmdnbvY%x_GuwYKnEa8^cjL88MgWK@3|#;K delta 21 dcmdnbvY%x_Gn=feq@=d?