mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-02-24 11:53:09 +01:00
Merge remote-tracking branch 'origin/async'
This commit is contained in:
commit
277c8c4275
@ -46,7 +46,7 @@
|
||||
;-----------------------------------------------------------------------------
|
||||
; Installer build timestamp.
|
||||
;-----------------------------------------------------------------------------
|
||||
!define /date BUILD_TIME "built on %Y/%m/%d at %I:%M %p (rev. ${REVISION})"
|
||||
!define /date BUILD_TIME "built on %Y/%m/%d at %I:%M %p"
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; Initial installer setup and definitions.
|
||||
@ -93,7 +93,7 @@ ReserveFile "${NSISDIR}\Plugins\InstallOptions.dll"
|
||||
!define MUI_ICON ${NSI_PATH}\installer.ico
|
||||
!define MUI_UNICON ${NSI_PATH}\installer.ico
|
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP ${NSI_PATH}\welcome.bmp
|
||||
!define MUI_WELCOMEPAGE_TITLE "@CPACK_PACKAGE_NAME@ ${VERSION} Setup$\r$\nInstaller Build Revision ${REVISION}"
|
||||
!define MUI_WELCOMEPAGE_TITLE "@CPACK_PACKAGE_NAME@ ${VERSION} Setup$\r$\nInstaller"
|
||||
!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation.$\r$\n$\r$\n$_CLICK"
|
||||
!define MUI_HEADERIMAGE
|
||||
!define MUI_HEADERIMAGE_BITMAP ${NSI_PATH}\page_header.bmp
|
||||
@ -203,10 +203,7 @@ Function PageReinstall
|
||||
IntCmp $R0 ${VER_MINOR} build_check new_version older_version
|
||||
build_check:
|
||||
ReadRegDWORD $R0 HKLM "Software\Tomahawk" "VersionBuild"
|
||||
IntCmp $R0 ${VER_BUILD} revision_check new_version older_version
|
||||
revision_check:
|
||||
ReadRegDWORD $R0 HKLM "Software\Tomahawk" "VersionRevision"
|
||||
IntCmp $R0 ${REVISION} same_version new_version older_version
|
||||
IntCmp $R0 ${VER_BUILD} new_version older_version
|
||||
|
||||
new_version:
|
||||
!insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 1" "Text" "An older version of Tomahawk is installed on your system. It is recommended that you uninstall the current version before installing. Select the operation you want to perform and click Next to continue."
|
||||
|
@ -311,4 +311,10 @@ Tomahawk.sha256=function(s){
|
||||
s = Utf8Encode(s);
|
||||
return binb2hex(core_sha256(str2binb(s), s.length * chrsz));
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
// some aliases
|
||||
Tomahawk.setTimeout = window.setTimeout;
|
||||
Tomahawk.setInterval = window.setInterval;
|
||||
|
@ -35,10 +35,11 @@
|
||||
#define RESOLVER_LEGACY_CODE2 "var resolver = Tomahawk.resolver.instance ? Tomahawk.resolver.instance : window;"
|
||||
|
||||
|
||||
QtScriptResolverHelper::QtScriptResolverHelper( const QString& scriptPath, QObject* parent )
|
||||
QtScriptResolverHelper::QtScriptResolverHelper( const QString& scriptPath, QtScriptResolver* parent )
|
||||
: QObject( parent )
|
||||
{
|
||||
m_scriptPath = scriptPath;
|
||||
m_resolver = parent;
|
||||
}
|
||||
|
||||
|
||||
@ -102,7 +103,18 @@ QtScriptResolverHelper::log( const QString& message )
|
||||
|
||||
|
||||
void
|
||||
QtScriptResolverHelper::setResolverConfig( QVariantMap config )
|
||||
QtScriptResolverHelper::addTrackResults( const QVariantMap& results )
|
||||
{
|
||||
QList< Tomahawk::result_ptr > tracks = m_resolver->parseResultVariantList( results.value("results").toList() );
|
||||
|
||||
QString qid = results.value("qid").toString();
|
||||
|
||||
Tomahawk::Pipeline::instance()->reportResults( qid, tracks );
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
QtScriptResolverHelper::setResolverConfig( const QVariantMap& config )
|
||||
{
|
||||
m_resolverConfig = config;
|
||||
}
|
||||
@ -244,22 +256,39 @@ QtScriptResolver::resolve( const Tomahawk::query_ptr& query )
|
||||
.arg( query->fullTextQuery().replace( "'", "\\'" ) );
|
||||
}
|
||||
|
||||
QList< Tomahawk::result_ptr > results;
|
||||
|
||||
QVariantMap m = m_engine->mainFrame()->evaluateJavaScript( eval ).toMap();
|
||||
|
||||
if( m.isEmpty() )
|
||||
{
|
||||
// if the resolver doesn't return anything, async api is used
|
||||
return;
|
||||
}
|
||||
|
||||
return;
|
||||
qDebug() << "JavaScript Result:" << m;
|
||||
|
||||
const QString qid = query->id();
|
||||
const QVariantList reslist = m.value( "results" ).toList();
|
||||
|
||||
QList< Tomahawk::result_ptr > results = parseResultVariantList( reslist );
|
||||
|
||||
Tomahawk::Pipeline::instance()->reportResults( qid, results );
|
||||
}
|
||||
|
||||
|
||||
QList< Tomahawk::result_ptr >
|
||||
QtScriptResolver::parseResultVariantList( const QVariantList& reslist )
|
||||
{
|
||||
QList< Tomahawk::result_ptr > results;
|
||||
|
||||
foreach( const QVariant& rv, reslist )
|
||||
{
|
||||
QVariantMap m = rv.toMap();
|
||||
|
||||
Tomahawk::result_ptr rp( new Tomahawk::Result() );
|
||||
Tomahawk::artist_ptr ap = Tomahawk::Artist::get( 0, m.value( "artist" ).toString() );
|
||||
Tomahawk::artist_ptr ap = Tomahawk::Artist::get( m.value( "artist" ).toString(), true );
|
||||
rp->setArtist( ap );
|
||||
rp->setAlbum( Tomahawk::Album::get( 0, m.value( "album" ).toString(), ap ) );
|
||||
rp->setAlbum( Tomahawk::Album::get( ap, m.value( "album" ).toString(), true ) );
|
||||
rp->setTrack( m.value( "track" ).toString() );
|
||||
rp->setBitrate( m.value( "bitrate" ).toUInt() );
|
||||
rp->setUrl( m.value( "url" ).toString() );
|
||||
@ -292,7 +321,7 @@ QtScriptResolver::resolve( const Tomahawk::query_ptr& query )
|
||||
results << rp;
|
||||
}
|
||||
|
||||
Tomahawk::Pipeline::instance()->reportResults( qid, results );
|
||||
return results;
|
||||
}
|
||||
|
||||
|
||||
|
@ -38,8 +38,8 @@ class QtScriptResolverHelper : public QObject
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QtScriptResolverHelper( const QString& scriptPath, QObject* parent );
|
||||
void setResolverConfig( QVariantMap config );
|
||||
QtScriptResolverHelper( const QString& scriptPath, QtScriptResolver* parent );
|
||||
void setResolverConfig( const QVariantMap& config );
|
||||
|
||||
public slots:
|
||||
QByteArray readRaw( const QString& fileName );
|
||||
@ -52,9 +52,12 @@ public slots:
|
||||
void log( const QString& message );
|
||||
bool fakeEnv() { return false; }
|
||||
|
||||
void addTrackResults( const QVariantMap& results );
|
||||
|
||||
private:
|
||||
QString m_scriptPath;
|
||||
QVariantMap m_resolverConfig;
|
||||
QtScriptResolver* m_resolver;
|
||||
};
|
||||
|
||||
class ScriptEngine : public QWebPage
|
||||
@ -97,6 +100,8 @@ class QtScriptResolver : public Tomahawk::ExternalResolver
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
friend class QtScriptResolverHelper;
|
||||
|
||||
public:
|
||||
explicit QtScriptResolver( const QString& scriptPath );
|
||||
virtual ~QtScriptResolver();
|
||||
@ -133,6 +138,8 @@ private:
|
||||
QVariantMap resolverUserConfig();
|
||||
QVariantMap resolverInit();
|
||||
|
||||
QList< Tomahawk::result_ptr > parseResultVariantList( const QVariantList& reslist );
|
||||
|
||||
ScriptEngine* m_engine;
|
||||
|
||||
QString m_name;
|
||||
|
Loading…
x
Reference in New Issue
Block a user