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 d6e0d203..b52ec830 100644 Binary files a/examples/gallery/icons/qvg/airport_shuttle.qvg and b/examples/gallery/icons/qvg/airport_shuttle.qvg differ diff --git a/examples/gallery/icons/qvg/flight.qvg b/examples/gallery/icons/qvg/flight.qvg index fc10d775..d31dd2de 100644 Binary files a/examples/gallery/icons/qvg/flight.qvg and b/examples/gallery/icons/qvg/flight.qvg differ diff --git a/examples/gallery/icons/qvg/local_pizza.qvg b/examples/gallery/icons/qvg/local_pizza.qvg index 45232c20..61967c8f 100644 Binary files a/examples/gallery/icons/qvg/local_pizza.qvg and b/examples/gallery/icons/qvg/local_pizza.qvg differ diff --git a/examples/gallery/icons/qvg/sports_soccer.qvg b/examples/gallery/icons/qvg/sports_soccer.qvg index ff92937b..52557da2 100644 Binary files a/examples/gallery/icons/qvg/sports_soccer.qvg and b/examples/gallery/icons/qvg/sports_soccer.qvg differ diff --git a/examples/gallery/icons/sports_soccer.svg b/examples/gallery/icons/sports_soccer.svg index 0ee97398..5aabceb6 100644 --- a/examples/gallery/icons/sports_soccer.svg +++ b/examples/gallery/icons/sports_soccer.svg @@ -1,4 +1,4 @@ - + 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 343402a8..b9c74eea 100644 Binary files a/skins/material3/icons/qvg/segmented-button-check.qvg and b/skins/material3/icons/qvg/segmented-button-check.qvg differ