QskSkin::symbol removed - using symbolHints instead

This commit is contained in:
Uwe Rathmann 2023-03-03 18:11:57 +01:00
parent 25be2106d5
commit 69aa0903c5
6 changed files with 42 additions and 51 deletions

View File

@ -130,8 +130,6 @@ namespace
void setup(); void setup();
private: private:
QskGraphic symbol( int type ) const { return m_skin->symbol( type ); }
void setupBox(); void setupBox();
void setupCheckBox(); void setupCheckBox();
void setupComboBox(); void setupComboBox();
@ -159,6 +157,23 @@ namespace
void setupTextInput(); void setupTextInput();
void setupTextLabel(); void setupTextLabel();
QskGraphic symbol( const char* url ) const
{
const auto provider = m_skin->graphicProvider( {} );
auto graphic = provider->requestGraphic( url );
if ( graphic )
return *graphic;
return QskGraphic();
}
void setStandardSymbol( QskAspect aspect,
QskStandardSymbol::Type symbolType )
{
setSymbol( aspect, QskStandardSymbol::graphic( symbolType ) );
}
const QskSkin* m_skin; const QskSkin* m_skin;
const QskMaterial3Theme& m_pal; const QskMaterial3Theme& m_pal;
}; };
@ -253,11 +268,12 @@ void Editor::setupCheckBox()
setGraphicRole( Q::Indicator | Q::Error, QskMaterial3Skin::GraphicRoleOnError ); setGraphicRole( Q::Indicator | Q::Error, QskMaterial3Skin::GraphicRoleOnError );
const auto checkMark = symbol( "check_small" );
for ( auto state : { QskAspect::NoState, Q::Disabled } ) for ( auto state : { QskAspect::NoState, Q::Disabled } )
{ {
const auto aspect = Q::Indicator | Q::Checked | state; const auto aspect = Q::Indicator | Q::Checked | state;
setSymbol( aspect, symbol( QskStandardSymbol::CheckMark ) ); setSymbol( aspect, checkMark );
setSymbol( aspect | Q::Error, symbol( QskStandardSymbol::CheckMark ) ); setSymbol( aspect | Q::Error, checkMark );
} }
setStrutSize( Q::Ripple, 40_dp, 40_dp ); setStrutSize( Q::Ripple, 40_dp, 40_dp );
@ -346,11 +362,8 @@ void Editor::setupComboBox()
setGraphicRole( Q::OpenMenuGraphic, QskMaterial3Skin::GraphicRoleOnSurface38 ); setGraphicRole( Q::OpenMenuGraphic, QskMaterial3Skin::GraphicRoleOnSurface38 );
setSymbol( Q::OpenMenuGraphic, setSymbol( Q::OpenMenuGraphic, symbol( "combo-box-arrow-closed" ) );
symbol( QskStandardSymbol::TriangleDown ) ); setSymbol( Q::OpenMenuGraphic | Q::PopupOpen, symbol( "combo-box-arrow-open" ) );
setSymbol( Q::OpenMenuGraphic | Q::PopupOpen,
symbol( QskStandardSymbol::TriangleUp ) );
} }
void Editor::setupBox() void Editor::setupBox()
@ -618,7 +631,7 @@ void Editor::setupSegmentedBar()
{ {
// Graphic // Graphic
setSymbol( Q::Graphic, symbol( QskStandardSymbol::SegmentedBarCheckMark ) ); setSymbol( Q::Graphic, symbol( "segmented-button-check" ) );
setPadding( Q::Graphic, 0_dp ); setPadding( Q::Graphic, 0_dp );
setStrutSize( Q::Graphic, 18_dp, 18_dp ); setStrutSize( Q::Graphic, 18_dp, 18_dp );
@ -925,8 +938,8 @@ void Editor::setupSpinBox()
setGradient( Q::UpPanel | Q::Increasing, focusColor ); setGradient( Q::UpPanel | Q::Increasing, focusColor );
} }
setSymbol( Q::UpIndicator, symbol( QskStandardSymbol::TriangleUp ) ); setSymbol( Q::UpIndicator, symbol( "combo-box-arrow-open" ) );
setSymbol( Q::DownIndicator, symbol( QskStandardSymbol::TriangleDown ) ); setSymbol( Q::DownIndicator, symbol( "combo-box-arrow-closed" ) );
for( const auto subControl : { Q::DownIndicator, Q::UpIndicator } ) for( const auto subControl : { Q::DownIndicator, Q::UpIndicator } )
{ {
@ -1379,29 +1392,6 @@ QskMaterial3Skin::~QskMaterial3Skin()
{ {
} }
QskGraphic QskMaterial3Skin::symbol( int symbolType ) const
{
const auto provider = graphicProvider( {} );
switch ( symbolType )
{
case QskStandardSymbol::CheckMark:
return *( provider->requestGraphic( "check_small" ) );
case QskStandardSymbol::SegmentedBarCheckMark:
return *( provider->requestGraphic( "segmented-button-check" ) );
case QskStandardSymbol::TriangleDown:
return *( provider->requestGraphic( "combo-box-arrow-closed" ) );
case QskStandardSymbol::TriangleUp:
return *( provider->requestGraphic( "combo-box-arrow-open" ) );
default:
return Inherited::symbol( symbolType );
}
}
void QskMaterial3Skin::setupFonts() void QskMaterial3Skin::setupFonts()
{ {
Inherited::setupFonts( QStringLiteral( "Roboto" ) ); Inherited::setupFonts( QStringLiteral( "Roboto" ) );

View File

@ -126,8 +126,6 @@ class QSK_MATERIAL3_EXPORT QskMaterial3Skin : public QskSkin
QskMaterial3Skin( const QskMaterial3Theme&, QObject* parent = nullptr ); QskMaterial3Skin( const QskMaterial3Theme&, QObject* parent = nullptr );
~QskMaterial3Skin() override; ~QskMaterial3Skin() override;
virtual QskGraphic symbol( int symbolType ) const override;
enum GraphicRole enum GraphicRole
{ {
GraphicRoleOnError, GraphicRoleOnError,

View File

@ -326,13 +326,6 @@ const std::unordered_map< int, QskColorFilter >& QskSkin::graphicFilters() const
return m_data->graphicFilters; return m_data->graphicFilters;
} }
QskGraphic QskSkin::symbol( int symbolType ) const
{
// should this one be somehow related to the platform icons ???
return QskStandardSymbol::graphic(
static_cast< QskStandardSymbol::Type >( symbolType ) );
}
void QskSkin::addGraphicProvider( void QskSkin::addGraphicProvider(
const QString& providerId, QskGraphicProvider* provider ) const QString& providerId, QskGraphicProvider* provider )
{ {

View File

@ -68,8 +68,6 @@ class QSK_EXPORT QskSkin : public QObject
void setupFonts( const QString& family, void setupFonts( const QString& family,
int weight = -1, bool italic = false ); int weight = -1, bool italic = false );
virtual QskGraphic symbol( int symbolType ) const;
void addGraphicProvider( const QString& providerId, QskGraphicProvider* ); void addGraphicProvider( const QString& providerId, QskGraphicProvider* );
QskGraphicProvider* graphicProvider( const QString& providerId ) const; QskGraphicProvider* graphicProvider( const QString& providerId ) const;
bool hasGraphicProvider() const; bool hasGraphicProvider() const;

View File

@ -7,7 +7,7 @@
#include "QskGraphic.h" #include "QskGraphic.h"
#include "QskGraphicLabel.h" #include "QskGraphicLabel.h"
#include "QskLinearBox.h" #include "QskLinearBox.h"
#include "QskSkin.h" #include "QskStandardSymbol.h"
#include "QskTextLabel.h" #include "QskTextLabel.h"
#include <qfontmetrics.h> #include <qfontmetrics.h>
@ -130,7 +130,13 @@ void QskMessageSubWindow::setSymbolSource( const QUrl& url )
void QskMessageSubWindow::setSymbolType( int symbolType ) void QskMessageSubWindow::setSymbolType( int symbolType )
{ {
setSymbol( effectiveSkin()->symbol( symbolType ) ); #if 1
const auto graphic = QskStandardSymbol::graphic(
static_cast< QskStandardSymbol::Type >( symbolType ) );
#else
const auto graphic = symbolHint( ... ); // TODO
#endif
setSymbol( graphic );
} }
QUrl QskMessageSubWindow::symbolSource() const QUrl QskMessageSubWindow::symbolSource() const

View File

@ -7,7 +7,7 @@
#include "QskGraphicLabel.h" #include "QskGraphicLabel.h"
#include "QskGraphic.h" #include "QskGraphic.h"
#include "QskLinearBox.h" #include "QskLinearBox.h"
#include "QskSkin.h" #include "QskStandardSymbol.h"
#include "QskTextLabel.h" #include "QskTextLabel.h"
#include "QskTextOptions.h" #include "QskTextOptions.h"
@ -135,8 +135,14 @@ void QskMessageWindow::setSymbolSource( const QUrl& url )
void QskMessageWindow::setSymbolType( int symbolType ) void QskMessageWindow::setSymbolType( int symbolType )
{ {
const auto skin = m_data->symbolLabel->effectiveSkin(); #if 1
setSymbol( skin->symbol( symbolType ) ); const auto graphic = QskStandardSymbol::graphic(
static_cast< QskStandardSymbol::Type >( symbolType ) );
#else
const auto graphic = symbolHint( ... ); // TODO
#endif
setSymbol( graphic );
} }
QUrl QskMessageWindow::symbolSource() const QUrl QskMessageWindow::symbolSource() const