graphic provider handling fixed. graphic URL namespace clashes fixed
( provider for the gallery icons was loaded by a provider that was only available with M3 )
This commit is contained in:
parent
9635c13181
commit
10af58137f
@ -1,5 +1,5 @@
|
||||
<RCC>
|
||||
<qresource>
|
||||
<qresource prefix="/gallery">
|
||||
<file>icons/qvg/airport_shuttle.qvg</file>
|
||||
<file>icons/qvg/flight.qvg</file>
|
||||
<file>icons/qvg/local_pizza.qvg</file>
|
||||
|
@ -31,12 +31,28 @@
|
||||
#include <QskAnimationHint.h>
|
||||
#include <QskBoxBorderMetrics.h>
|
||||
#include <QskBoxShapeMetrics.h>
|
||||
#include <QskGraphicProvider.h>
|
||||
#include <QskGraphicIO.h>
|
||||
#include <QskGraphic.h>
|
||||
#include <QskSetup.h>
|
||||
|
||||
#include <QGuiApplication>
|
||||
|
||||
namespace
|
||||
{
|
||||
class GraphicProvider : public QskGraphicProvider
|
||||
{
|
||||
protected:
|
||||
const QskGraphic* loadGraphic( const QString& id ) const override
|
||||
{
|
||||
const QString path = QStringLiteral( ":gallery/icons/qvg/" )
|
||||
+ id + QStringLiteral( ".qvg" );
|
||||
|
||||
const auto graphic = QskGraphicIO::read( path );
|
||||
return graphic.isNull() ? nullptr : new QskGraphic( graphic );
|
||||
}
|
||||
};
|
||||
|
||||
class TabView : public QskTabView
|
||||
{
|
||||
public:
|
||||
@ -234,6 +250,7 @@ int main( int argc, char* argv[] )
|
||||
QskObjectCounter counter( true );
|
||||
#endif
|
||||
|
||||
Qsk::addGraphicProvider( QString(), new GraphicProvider() );
|
||||
Qsk::addGraphicProvider( "shapes", new SkinnyShapeProvider() );
|
||||
|
||||
// dialogs in faked windows -> QskSubWindow
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include <QskFunctions.h>
|
||||
#include <QskGraphic.h>
|
||||
#include <QskGraphicIO.h>
|
||||
#include <QskGraphicProvider.h>
|
||||
#include <QskInputPanelBox.h>
|
||||
#include <QskListView.h>
|
||||
#include <QskMenu.h>
|
||||
@ -110,15 +109,12 @@ namespace
|
||||
void setupTextInput();
|
||||
void setupTextLabel();
|
||||
|
||||
QskGraphic symbol( const char* url ) const
|
||||
QskGraphic symbol( const char* name ) const
|
||||
{
|
||||
const auto provider = m_skin->graphicProvider( {} );
|
||||
const QString path = QStringLiteral( ":m3/icons/qvg/" )
|
||||
+ name + QStringLiteral( ".qvg" );
|
||||
|
||||
auto graphic = provider->requestGraphic( url );
|
||||
if ( graphic )
|
||||
return *graphic;
|
||||
|
||||
return QskGraphic();
|
||||
return QskGraphicIO::read( path );
|
||||
}
|
||||
|
||||
void setStandardSymbol( QskAspect aspect,
|
||||
@ -1319,24 +1315,9 @@ QskMaterial3Theme::QskMaterial3Theme( Lightness lightness,
|
||||
shapeExtraSmallTop = QskBoxShapeMetrics( 4_dp, 4_dp, 0, 0 );
|
||||
}
|
||||
|
||||
QskMaterial3GraphicProvder::QskMaterial3GraphicProvder( QObject* parent )
|
||||
: Inherited( parent )
|
||||
{
|
||||
}
|
||||
|
||||
const QskGraphic* QskMaterial3GraphicProvder::loadGraphic( const QString& id ) const
|
||||
{
|
||||
const QString name = QString( ":/icons/qvg/%1.qvg" ).arg( id );
|
||||
const QskGraphic graphic = QskGraphicIO::read( name );
|
||||
|
||||
return graphic.isNull() ? nullptr : new QskGraphic( graphic );
|
||||
}
|
||||
|
||||
QskMaterial3Skin::QskMaterial3Skin( const QskMaterial3Theme& palette, QObject* parent )
|
||||
: Inherited( parent )
|
||||
{
|
||||
addGraphicProvider( {}, new QskMaterial3GraphicProvder() );
|
||||
|
||||
setupFonts();
|
||||
setupGraphicFilters( palette );
|
||||
|
||||
|
@ -9,7 +9,6 @@
|
||||
#include "QskMaterial3Global.h"
|
||||
|
||||
#include <QskBoxShapeMetrics.h>
|
||||
#include <QskGraphicProvider.h>
|
||||
#include <QskHctColor.h>
|
||||
#include <QskSkin.h>
|
||||
#include <QskShadowMetrics.h>
|
||||
@ -104,19 +103,6 @@ class QSK_MATERIAL3_EXPORT QskMaterial3Theme
|
||||
std::array< QskHctColor, NumPaletteTypes > m_palettes;
|
||||
};
|
||||
|
||||
class QSK_MATERIAL3_EXPORT QskMaterial3GraphicProvder : public QskGraphicProvider
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
using Inherited = QskGraphicProvider;
|
||||
|
||||
public:
|
||||
QskMaterial3GraphicProvder( QObject* parent = nullptr );
|
||||
|
||||
protected:
|
||||
virtual const QskGraphic* loadGraphic( const QString& id ) const override;
|
||||
};
|
||||
|
||||
class QSK_MATERIAL3_EXPORT QskMaterial3Skin : public QskSkin
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -1,5 +1,5 @@
|
||||
<RCC>
|
||||
<qresource>
|
||||
<qresource prefix="/m3">
|
||||
<file>icons/qvg/check_small.qvg</file>
|
||||
<file>icons/qvg/combo-box-arrow-closed.qvg</file>
|
||||
<file>icons/qvg/combo-box-arrow-open.qvg</file>
|
||||
|
Loading…
x
Reference in New Issue
Block a user