1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-11 16:44:05 +02:00

Use ScriptPlugin base class in ScriptLinkGeneratorPlugin

This commit is contained in:
Dominik Schmidt
2014-12-09 00:05:49 +01:00
parent 6a239e24d1
commit f751aa501c
2 changed files with 10 additions and 12 deletions

View File

@@ -25,7 +25,9 @@
using namespace Tomahawk; using namespace Tomahawk;
ScriptLinkGeneratorPlugin::ScriptLinkGeneratorPlugin( ScriptObject* scriptObject ) ScriptLinkGeneratorPlugin::ScriptLinkGeneratorPlugin( ScriptObject* scriptObject )
: Utils::LinkGeneratorPlugin() : QObject( scriptObject )
, ScriptPlugin( scriptObject )
, Utils::LinkGeneratorPlugin()
, d_ptr( new ScriptLinkGeneratorPluginPrivate( this, scriptObject ) ) , d_ptr( new ScriptLinkGeneratorPluginPrivate( this, scriptObject ) )
{ {
} }
@@ -39,35 +41,29 @@ ScriptLinkGeneratorPlugin::~ScriptLinkGeneratorPlugin()
ScriptJob* ScriptJob*
ScriptLinkGeneratorPlugin::openLink( const QString& title, const QString& artist, const QString& album ) const ScriptLinkGeneratorPlugin::openLink( const QString& title, const QString& artist, const QString& album ) const
{ {
Q_D( const ScriptLinkGeneratorPlugin );
QVariantMap arguments; QVariantMap arguments;
arguments[ "title" ] = QVariant( title ); arguments[ "title" ] = QVariant( title );
arguments[ "artist" ] = QVariant( artist ); arguments[ "artist" ] = QVariant( artist );
arguments[ "album" ] = QVariant( album ); arguments[ "album" ] = QVariant( album );
return d->scriptObject->invoke( "generateQueryLink", arguments ); return scriptObject()->invoke( "generateQueryLink", arguments );
} }
ScriptJob* ScriptJob*
ScriptLinkGeneratorPlugin::openLink( const artist_ptr& artist ) const ScriptLinkGeneratorPlugin::openLink( const artist_ptr& artist ) const
{ {
Q_D( const ScriptLinkGeneratorPlugin );
// TODO: create proper serializer for QObjects // TODO: create proper serializer for QObjects
QVariantMap arguments; QVariantMap arguments;
arguments[ "name" ] = QVariant( artist->name() ); arguments[ "name" ] = QVariant( artist->name() );
return d->scriptObject->invoke( "generateArtistLink", arguments ); return scriptObject()->invoke( "generateArtistLink", arguments );
} }
ScriptJob* ScriptJob*
ScriptLinkGeneratorPlugin::openLink( const album_ptr& album ) const ScriptLinkGeneratorPlugin::openLink( const album_ptr& album ) const
{ {
Q_D( const ScriptLinkGeneratorPlugin );
// TODO: create proper serializer for QObjects // TODO: create proper serializer for QObjects
QVariantMap arguments; QVariantMap arguments;
arguments[ "name" ] = QVariant( album->name() ); arguments[ "name" ] = QVariant( album->name() );
@@ -76,7 +72,7 @@ ScriptLinkGeneratorPlugin::openLink( const album_ptr& album ) const
artist[ "name" ] = album->artist()->name(); artist[ "name" ] = album->artist()->name();
arguments[ "artist" ] = artist; arguments[ "artist" ] = artist;
return d->scriptObject->invoke( "generateAlbumLink", arguments ); return scriptObject()->invoke( "generateAlbumLink", arguments );
} }

View File

@@ -19,10 +19,12 @@
#ifndef TOMAHAWK_SCRIPTLINKGENERATORPLUGIN_H #ifndef TOMAHAWK_SCRIPTLINKGENERATORPLUGIN_H
#define TOMAHAWK_SCRIPTLINKGENERATORPLUGIN_H #define TOMAHAWK_SCRIPTLINKGENERATORPLUGIN_H
#include "../resolvers/ScriptPlugin.h"
#include "../utils/LinkGeneratorPlugin.h" #include "../utils/LinkGeneratorPlugin.h"
#include "DllMacro.h" #include <QObject>
#include "DllMacro.h"
namespace Tomahawk namespace Tomahawk
{ {
@@ -30,7 +32,7 @@ namespace Tomahawk
class ScriptObject; class ScriptObject;
class ScriptLinkGeneratorPluginPrivate; class ScriptLinkGeneratorPluginPrivate;
class DLLEXPORT ScriptLinkGeneratorPlugin : QObject, public Utils::LinkGeneratorPlugin class DLLEXPORT ScriptLinkGeneratorPlugin : public QObject, public ScriptPlugin, public Utils::LinkGeneratorPlugin
{ {
Q_OBJECT Q_OBJECT