diff --git a/skins/material3/QskMaterial3Skin.cpp b/skins/material3/QskMaterial3Skin.cpp
index be4eeff0..20509e74 100644
--- a/skins/material3/QskMaterial3Skin.cpp
+++ b/skins/material3/QskMaterial3Skin.cpp
@@ -1090,6 +1090,11 @@ QskGraphic QskMaterial3Skin::symbol( int symbolType ) const
{
return {};
}
+ case QskStandardSymbol::SegmentedBarCheckMark:
+ {
+ const auto* provider = graphicProvider( {} );
+ return *( provider->requestGraphic( "segmented-button-check" ) );
+ }
default:
return Inherited::symbol( symbolType );
}
diff --git a/skins/material3/icons.qrc b/skins/material3/icons.qrc
index 1c012b6a..a2466aea 100644
--- a/skins/material3/icons.qrc
+++ b/skins/material3/icons.qrc
@@ -1,5 +1,6 @@
icons/qvg/check_small.qvg
+ icons/qvg/segmented-button-check.qvg
diff --git a/skins/material3/icons/qvg/segmented-button-check.qvg b/skins/material3/icons/qvg/segmented-button-check.qvg
new file mode 100644
index 00000000..343402a8
Binary files /dev/null and b/skins/material3/icons/qvg/segmented-button-check.qvg differ
diff --git a/skins/material3/icons/segmented-button-check.svg b/skins/material3/icons/segmented-button-check.svg
new file mode 100644
index 00000000..5d4b949b
--- /dev/null
+++ b/skins/material3/icons/segmented-button-check.svg
@@ -0,0 +1,4 @@
+
+
diff --git a/src/controls/QskSegmentedBarSkinlet.cpp b/src/controls/QskSegmentedBarSkinlet.cpp
index 6fc30c4e..b5934c22 100644
--- a/src/controls/QskSegmentedBarSkinlet.cpp
+++ b/src/controls/QskSegmentedBarSkinlet.cpp
@@ -9,6 +9,7 @@
#include "QskGraphic.h"
#include "QskColorFilter.h"
#include "QskFunctions.h"
+#include "QskSkin.h"
#include "QskStandardSymbol.h"
#include "QskSubcontrolLayoutEngine.h"
@@ -37,7 +38,7 @@ namespace
// implementing this control we should put this code into a
// subclass.
const auto graphic = ( bar->selectedIndex() == index )
- ? QskStandardSymbol::graphic( QskStandardSymbol::CheckMark )
+ ? bar->effectiveSkin()->symbol( QskStandardSymbol::SegmentedBarCheckMark )
: bar->graphicAt( index );
return graphic;
@@ -215,7 +216,7 @@ QSizeF QskSegmentedBarSkinlet::segmentSizeHint( const QskSegmentedBar* bar, Qt::
{
LayoutEngine layoutEngine( bar, i );
- const auto graphic = QskStandardSymbol::graphic( QskStandardSymbol::CheckMark );
+ const auto graphic = bar->effectiveSkin()->symbol( QskStandardSymbol::SegmentedBarCheckMark );
// We want to know how big the element can grow when it is selected,
// i.e. when it has the checkmark symbol:
diff --git a/src/graphic/QskStandardSymbol.cpp b/src/graphic/QskStandardSymbol.cpp
index abddcae6..3c9fd6ea 100644
--- a/src/graphic/QskStandardSymbol.cpp
+++ b/src/graphic/QskStandardSymbol.cpp
@@ -260,6 +260,11 @@ QskGraphic QskStandardSymbol::graphic( Type symbolType )
qskCrossMarkGraphic( &painter );
break;
}
+ case QskStandardSymbol::SegmentedBarCheckMark:
+ {
+ qskCheckMarkGraphic( &painter );
+ break;
+ }
case QskStandardSymbol::NoSymbol:
case QskStandardSymbol::SymbolTypeCount:
{
diff --git a/src/graphic/QskStandardSymbol.h b/src/graphic/QskStandardSymbol.h
index 4a5db48b..2b517319 100644
--- a/src/graphic/QskStandardSymbol.h
+++ b/src/graphic/QskStandardSymbol.h
@@ -30,6 +30,8 @@ namespace QskStandardSymbol
CheckMark,
CrossMark,
+ SegmentedBarCheckMark,
+
SymbolTypeCount
};