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();
private:
QskGraphic symbol( int type ) const { return m_skin->symbol( type ); }
void setupBox();
void setupCheckBox();
void setupComboBox();
@ -159,6 +157,23 @@ namespace
void setupTextInput();
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 QskMaterial3Theme& m_pal;
};
@ -253,11 +268,12 @@ void Editor::setupCheckBox()
setGraphicRole( Q::Indicator | Q::Error, QskMaterial3Skin::GraphicRoleOnError );
const auto checkMark = symbol( "check_small" );
for ( auto state : { QskAspect::NoState, Q::Disabled } )
{
const auto aspect = Q::Indicator | Q::Checked | state;
setSymbol( aspect, symbol( QskStandardSymbol::CheckMark ) );
setSymbol( aspect | Q::Error, symbol( QskStandardSymbol::CheckMark ) );
setSymbol( aspect, checkMark );
setSymbol( aspect | Q::Error, checkMark );
}
setStrutSize( Q::Ripple, 40_dp, 40_dp );
@ -346,11 +362,8 @@ void Editor::setupComboBox()
setGraphicRole( Q::OpenMenuGraphic, QskMaterial3Skin::GraphicRoleOnSurface38 );
setSymbol( Q::OpenMenuGraphic,
symbol( QskStandardSymbol::TriangleDown ) );
setSymbol( Q::OpenMenuGraphic | Q::PopupOpen,
symbol( QskStandardSymbol::TriangleUp ) );
setSymbol( Q::OpenMenuGraphic, symbol( "combo-box-arrow-closed" ) );
setSymbol( Q::OpenMenuGraphic | Q::PopupOpen, symbol( "combo-box-arrow-open" ) );
}
void Editor::setupBox()
@ -618,7 +631,7 @@ void Editor::setupSegmentedBar()
{
// Graphic
setSymbol( Q::Graphic, symbol( QskStandardSymbol::SegmentedBarCheckMark ) );
setSymbol( Q::Graphic, symbol( "segmented-button-check" ) );
setPadding( Q::Graphic, 0_dp );
setStrutSize( Q::Graphic, 18_dp, 18_dp );
@ -925,8 +938,8 @@ void Editor::setupSpinBox()
setGradient( Q::UpPanel | Q::Increasing, focusColor );
}
setSymbol( Q::UpIndicator, symbol( QskStandardSymbol::TriangleUp ) );
setSymbol( Q::DownIndicator, symbol( QskStandardSymbol::TriangleDown ) );
setSymbol( Q::UpIndicator, symbol( "combo-box-arrow-open" ) );
setSymbol( Q::DownIndicator, symbol( "combo-box-arrow-closed" ) );
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()
{
Inherited::setupFonts( QStringLiteral( "Roboto" ) );

View File

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

View File

@ -326,13 +326,6 @@ const std::unordered_map< int, QskColorFilter >& QskSkin::graphicFilters() const
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(
const QString& providerId, QskGraphicProvider* provider )
{

View File

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

View File

@ -7,7 +7,7 @@
#include "QskGraphic.h"
#include "QskGraphicLabel.h"
#include "QskLinearBox.h"
#include "QskSkin.h"
#include "QskStandardSymbol.h"
#include "QskTextLabel.h"
#include <qfontmetrics.h>
@ -130,7 +130,13 @@ void QskMessageSubWindow::setSymbolSource( const QUrl& url )
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

View File

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