diff --git a/skins/material/QskMaterialSkin.cpp b/skins/material/QskMaterialSkin.cpp index 58d81616..74a1bd6d 100644 --- a/skins/material/QskMaterialSkin.cpp +++ b/skins/material/QskMaterialSkin.cpp @@ -809,16 +809,10 @@ QskMaterialTheme::QskMaterialTheme( Lightness lightness ) QskMaterialTheme::QskMaterialTheme( Lightness lightness, std::array< QskRgbPalette, NumPaletteTypes > palettes ) : m_palettes( palettes ) - , m_lightness( lightness ) -{ - initColors(); -} - -void QskMaterialTheme::initColors() { using Q = QskRgbPalette; - if ( m_lightness == Light ) + if ( lightness == Light ) { primary = m_palettes[ Primary ].rgb( Q::W40 ); onPrimary = m_palettes[ Primary ].rgb( Q::W100 ); @@ -849,7 +843,7 @@ void QskMaterialTheme::initColors() onSurfaceVariant = m_palettes[ NeutralVariant ].rgb( Q::W30 ); outline = m_palettes[ NeutralVariant ].rgb( Q::W50 ); } - else if ( m_lightness == Dark ) + else if ( lightness == Dark ) { primary = m_palettes[ Primary ].rgb( Q::W80 ); onPrimary = m_palettes[ Primary ].rgb( Q::W20 ); @@ -882,41 +876,19 @@ void QskMaterialTheme::initColors() } } -std::array< QskRgbPalette, QskMaterialTheme::NumPaletteTypes > QskMaterialTheme::palettes() const -{ - return m_palettes; -} - -void QskMaterialTheme::setPalette( PaletteType type, const QskRgbPalette& palette ) -{ - m_palettes[ type ] = palette; - initColors(); -} - -QskMaterialSkin::QskMaterialSkin( const QskMaterialTheme& theme, QObject* parent ) +QskMaterialSkin::QskMaterialSkin( const QskMaterialTheme& palette, QObject* parent ) : Inherited( parent ) - , m_theme( theme ) { setupFonts(); - init( theme ); + + Editor editor( &hintTable(), palette ); + editor.setup(); } QskMaterialSkin::~QskMaterialSkin() { } -void QskMaterialSkin::setPalette( QskMaterialTheme::PaletteType type, - const QskRgbPalette& palette ) -{ - m_theme.setPalette( type, palette ); -} - -void QskMaterialSkin::init( const QskMaterialTheme& palette ) -{ - Editor editor( &hintTable(), palette ); - editor.setup(); -} - void QskMaterialSkin::setupFonts() { Inherited::setupFonts( QStringLiteral( "Roboto" ) ); diff --git a/skins/material/QskMaterialSkin.h b/skins/material/QskMaterialSkin.h index 14cb2c83..e4bc11f1 100644 --- a/skins/material/QskMaterialSkin.h +++ b/skins/material/QskMaterialSkin.h @@ -68,14 +68,8 @@ class QSK_MATERIAL_EXPORT QskMaterialTheme const qreal pressedOpacity = 0.12; const qreal draggedOpacity = 0.16; - std::array< QskRgbPalette, NumPaletteTypes > palettes() const; - void setPalette( PaletteType type, const QskRgbPalette& palette ); - private: - void initColors(); - std::array< QskRgbPalette, NumPaletteTypes > m_palettes; - Lightness m_lightness; }; class QSK_MATERIAL_EXPORT QskMaterialSkin : public QskSkin @@ -93,13 +87,10 @@ class QSK_MATERIAL_EXPORT QskMaterialSkin : public QskSkin M3LabelLarge = QskSkin::HugeFont + 1, }; - void setPalette( QskMaterialTheme::PaletteType, const QskRgbPalette& palette ); + // ### add setTheme() re-implement resetColors() private: - void init( const QskMaterialTheme& palette ); void setupFonts(); - - QskMaterialTheme m_theme; }; #endif