diff --git a/src/libtomahawk/ExternalResolverGui.h b/src/libtomahawk/ExternalResolverGui.h index f6b712123..68832fb06 100644 --- a/src/libtomahawk/ExternalResolverGui.h +++ b/src/libtomahawk/ExternalResolverGui.h @@ -22,6 +22,8 @@ #include "ExternalResolver.h" #include "DllMacro.h" +#include + class QWidget; namespace Tomahawk @@ -41,6 +43,9 @@ public: ExternalResolverGui( const QString& filePath ); virtual QWidget* configUI() const = 0; + virtual QPixmap icon() const { return QPixmap(); } + virtual void setIcon( const QPixmap& ) {} + protected: QWidget* widgetFromData( QByteArray& data, QWidget* parent = 0 ); QVariant configMsgFromWidget( QWidget* w ); diff --git a/src/libtomahawk/accounts/ResolverAccount.cpp b/src/libtomahawk/accounts/ResolverAccount.cpp index 30a3800e8..b7a8f9e64 100644 --- a/src/libtomahawk/accounts/ResolverAccount.cpp +++ b/src/libtomahawk/accounts/ResolverAccount.cpp @@ -274,7 +274,12 @@ AtticaResolverAccount::loadIcon() codeDir.cd( "../images" ); if ( codeDir.exists() && codeDir.exists( "icon.png" ) ) + { m_icon.load( codeDir.absoluteFilePath( "icon.png" ) ); + + if ( !m_resolver.isNull() ) + m_resolver.data()->setIcon( m_icon ); + } } diff --git a/src/libtomahawk/resolvers/QtScriptResolver.h b/src/libtomahawk/resolvers/QtScriptResolver.h index cc157d511..392f29ecc 100644 --- a/src/libtomahawk/resolvers/QtScriptResolver.h +++ b/src/libtomahawk/resolvers/QtScriptResolver.h @@ -141,6 +141,7 @@ public: virtual bool running() const; virtual void reload(); + virtual void setIcon( const QPixmap& icon ) { m_icon = icon; } public slots: virtual void resolve( const Tomahawk::query_ptr& query ); virtual void stop();