1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-25 23:06:23 +02:00

Merge pull request #326 from theli-ua/api

First attempt at 0.9 js resolver API
This commit is contained in:
Dominik Schmidt
2015-09-24 01:28:22 +02:00
7 changed files with 785 additions and 16 deletions

View File

@@ -711,7 +711,13 @@ JSResolverHelper::customIODeviceFactory( const Tomahawk::result_ptr&, const QStr
if ( m_urlCallbackIsAsync )
{
QString qid = uuid();
QString getUrl = QString( "Tomahawk.resolver.instance.%1( '%2', '%3' );" ).arg( m_urlCallback )
QString getUrl = QString(
"if(Tomahawk.resolver.instance['_adapter_%1']) {"
" Tomahawk.resolver.instance._adapter_%1( {qid: '%2', url: '%3'} );"
"} else {"
" Tomahawk.resolver.instance.%1( {qid: '%2', url: '%3'} );"
"}"
).arg( m_urlCallback )
.arg( qid )
.arg( url );

View File

@@ -145,7 +145,7 @@ ScriptAccount::invoke( const scriptobject_ptr& scriptObject, const QString& meth
void
ScriptAccount::reportScriptJobResult( const QVariantMap& result )
{
tLog() << Q_FUNC_INFO << result;
//tLog() << Q_FUNC_INFO << result;
const QString requestId = result[ "requestId" ].toString();
Q_ASSERT( !requestId.isEmpty() );

View File

@@ -252,6 +252,20 @@ ScriptCollection::parseMetaData( const QVariantMap& metadata )
bool ok = iconPixmap.load( iconPath );
if ( ok && !iconPixmap.isNull() )
setIcon( iconPixmap );
else
{
//see if it is a new way of specifying path
//like "contents/images/icon.png"
iconPath = QFileInfo( scriptAccount()->filePath() ).path();
for(int i = 0; i < 3 && !ok ; ++i)
{
iconPath += "/../";
ok = iconPixmap.load(iconPath + metadata.value("iconfile").toString());
}
if ( ok && !iconPixmap.isNull() )
setIcon( iconPixmap );
}
fetchIcon( metadata.value( "iconurl" ).toString() );
}

View File

@@ -106,7 +106,7 @@ ScriptCommand_AllTracks::onTracksJobDone( const QVariantMap& result )
ScriptJob* job = qobject_cast< ScriptJob* >( sender() );
Q_ASSERT( job );
qDebug() << "Resolver reporting album tracks:" << result;
//qDebug() << "Resolver reporting album tracks:" << result;
if ( job->error() )
{

View File

@@ -49,6 +49,8 @@ ScriptEngine::ScriptEngine( JSAccount* parent )
settings()->setAttribute( QWebSettings::LocalStorageDatabaseEnabled, true );
settings()->setAttribute( QWebSettings::LocalContentCanAccessFileUrls, true );
settings()->setAttribute( QWebSettings::LocalContentCanAccessRemoteUrls, true );
settings()->setOfflineStorageDefaultQuota(100 * 1024 * 1024 /* 100 Mb */);
settings()->setOfflineWebApplicationCacheQuota(100 * 1024 * 1024 /* 100 Mb */);
// HACK
QStringList cmdArgs = QCoreApplication::instance()->arguments();

View File

@@ -171,6 +171,10 @@ TomahawkApp::init()
tLog() << "Starting Tomahawk...";
QWebSettings::globalSettings()->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, true);
//QWebSettings::setOfflineStoragePath(QLatin1String("/tmp"));
m_headless = true;
m_headless = arguments().contains( "--headless" );
setWindowIcon( QIcon( RESPATH "icons/tomahawk-icon-128x128.png" ) );