diff --git a/src/libtomahawk/AtticaManager.cpp b/src/libtomahawk/AtticaManager.cpp index 5303fcd17..d80eaeab8 100644 --- a/src/libtomahawk/AtticaManager.cpp +++ b/src/libtomahawk/AtticaManager.cpp @@ -45,6 +45,8 @@ AtticaManager::AtticaManager( QObject* parent ) // resolvers m_manager.addProviderFile( QUrl( "http://bakery.tomahawk-player.org:10480/resolvers/providers.xml" ) ); + + qRegisterMetaType< Attica::Content >( "Attica::Content" ); } @@ -274,6 +276,7 @@ AtticaManager::syncServerData() if ( newerVersion( r.version, upstream.version() ) ) { m_resolverStates[ id ].state = NeedsUpgrade; + QMetaObject::invokeMethod( this, "upgradeResolver", Qt::QueuedConnection, Q_ARG( Attica::Content, upstream ) ); } } } diff --git a/src/libtomahawk/AtticaManager.h b/src/libtomahawk/AtticaManager.h index cb7179853..655ed7ffd 100644 --- a/src/libtomahawk/AtticaManager.h +++ b/src/libtomahawk/AtticaManager.h @@ -83,8 +83,6 @@ public: ResolverState resolverState( const Attica::Content& resolver ) const; QPixmap iconForResolver( const Attica::Content& id ); // Looks up in icon cache - void installResolver( const Attica::Content& resolver ); - void upgradeResolver( const Attica::Content& resolver ); void uninstallResolver( const Attica::Content& resolver ); void uninstallResolver( const QString& pathToResolver ); QString pathFromId( const QString& resolverId ) const; @@ -92,6 +90,9 @@ public: void uploadRating( const Attica::Content& c ); bool userHasRated( const Attica::Content& c ) const; +public slots: + void installResolver( const Attica::Content& resolver ); + void upgradeResolver( const Attica::Content& resolver ); signals: void resolversReloaded( const Attica::Content::List& resolvers ); @@ -127,4 +128,6 @@ private: static AtticaManager* s_instance; }; +Q_DECLARE_METATYPE( Attica::Content ); + #endif // ATTICAMANAGER_H