global graphic provider map moved from QskSetup.cpp to QskGraphicProvider.cpp

This commit is contained in:
Uwe Rathmann 2024-02-02 14:55:41 +01:00
parent 4862b2b467
commit 995736ef83
3 changed files with 14 additions and 28 deletions

View File

@ -4,9 +4,6 @@
*****************************************************************************/ *****************************************************************************/
#include "QskSetup.h" #include "QskSetup.h"
#include "QskGraphicProviderMap.h"
#include "QskSkinManager.h"
#include "QskSkin.h"
QskSetup* QskSetup::s_instance = nullptr; QskSetup* QskSetup::s_instance = nullptr;
@ -68,7 +65,6 @@ class QskSetup::PrivateData
{ {
} }
QskGraphicProviderMap graphicProviders;
QskItem::UpdateFlags itemUpdateFlags; QskItem::UpdateFlags itemUpdateFlags;
}; };
@ -136,20 +132,4 @@ bool QskSetup::testItemUpdateFlag( QskItem::UpdateFlag flag )
return m_data->itemUpdateFlags.testFlag( flag ); return m_data->itemUpdateFlags.testFlag( flag );
} }
void QskSetup::addGraphicProvider( const QString& providerId, QskGraphicProvider* provider )
{
m_data->graphicProviders.insert( providerId, provider );
}
QskGraphicProvider* QskSetup::graphicProvider( const QString& providerId ) const
{
if ( auto skin = qskSkinManager->skin() )
{
if ( auto provider = skin->graphicProvider( providerId ) )
return provider;
}
return m_data->graphicProviders.provider( providerId );
}
#include "moc_QskSetup.cpp" #include "moc_QskSetup.cpp"

View File

@ -13,7 +13,6 @@
#include <memory> #include <memory>
class QQuickItem; class QQuickItem;
class QskGraphicProvider;
#if defined( qskSetup ) #if defined( qskSetup )
#undef qskSetup #undef qskSetup
@ -37,9 +36,6 @@ class QSK_EXPORT QskSetup : public QObject
void resetItemUpdateFlag( QskItem::UpdateFlag ); void resetItemUpdateFlag( QskItem::UpdateFlag );
bool testItemUpdateFlag( QskItem::UpdateFlag ); bool testItemUpdateFlag( QskItem::UpdateFlag );
void addGraphicProvider( const QString& providerId, QskGraphicProvider* );
QskGraphicProvider* graphicProvider( const QString& providerId ) const;
static void setup(); static void setup();
static void cleanup(); static void cleanup();

View File

@ -4,14 +4,18 @@
*****************************************************************************/ *****************************************************************************/
#include "QskGraphicProvider.h" #include "QskGraphicProvider.h"
#include "QskGraphicProviderMap.h"
#include "QskGraphic.h" #include "QskGraphic.h"
#include "QskSetup.h" #include "QskSkinManager.h"
#include "QskSkin.h"
#include <qmutex.h> #include <qmutex.h>
#include <qcache.h> #include <qcache.h>
#include <qdebug.h> #include <qdebug.h>
#include <qurl.h> #include <qurl.h>
static QskGraphicProviderMap qskGraphicProviders;
class QskGraphicProvider::PrivateData class QskGraphicProvider::PrivateData
{ {
public: public:
@ -92,12 +96,18 @@ const QskGraphic* QskGraphicProvider::requestGraphic( const QString& id ) const
void Qsk::addGraphicProvider( void Qsk::addGraphicProvider(
const QString& providerId, QskGraphicProvider* provider ) const QString& providerId, QskGraphicProvider* provider )
{ {
qskSetup->addGraphicProvider( providerId, provider ); qskGraphicProviders.insert( providerId, provider );
} }
QskGraphicProvider* Qsk::graphicProvider( const QString& providerId ) QskGraphicProvider* Qsk::graphicProvider( const QString& providerId )
{ {
return qskSetup->graphicProvider( providerId ); if ( auto skin = qskSkinManager->skin() )
{
if ( auto provider = skin->graphicProvider( providerId ) )
return provider;
}
return qskGraphicProviders.provider( providerId );
} }
QskGraphic Qsk::loadGraphic( const char* source ) QskGraphic Qsk::loadGraphic( const char* source )
@ -122,7 +132,7 @@ QskGraphic Qsk::loadGraphic( const QUrl& url )
const QskGraphic* graphic = nullptr; const QskGraphic* graphic = nullptr;
if ( const auto provider = qskSetup->graphicProvider( providerId ) ) if ( const auto provider = Qsk::graphicProvider( providerId ) )
graphic = provider->requestGraphic( imageId ); graphic = provider->requestGraphic( imageId );
return graphic ? *graphic : nullGraphic; return graphic ? *graphic : nullGraphic;