mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-09 07:36:48 +02:00
autodetect and populate resovlers named foo_tomahawkresolver* in the binary dir of tomahawk
This commit is contained in:
@@ -39,6 +39,7 @@ ResolversModel::ResolversModel( const QStringList& allResolvers, const QStringLi
|
|||||||
if( changed )
|
if( changed )
|
||||||
TomahawkSettings::instance()->setEnabledScriptResolvers( m_enabledResolvers );
|
TomahawkSettings::instance()->setEnabledScriptResolvers( m_enabledResolvers );
|
||||||
|
|
||||||
|
addInstalledResolvers();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -152,3 +153,30 @@ ResolversModel::enabledResolvers() const
|
|||||||
return m_enabledResolvers;
|
return m_enabledResolvers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
ResolversModel::addInstalledResolvers()
|
||||||
|
{
|
||||||
|
QList< QDir > pluginDirs;
|
||||||
|
|
||||||
|
QDir appDir( qApp->applicationDirPath() );
|
||||||
|
QDir libDir( CMAKE_INSTALL_PREFIX "/lib" );
|
||||||
|
|
||||||
|
QDir lib64Dir( appDir );
|
||||||
|
lib64Dir.cdUp();
|
||||||
|
lib64Dir.cd( "lib64" );
|
||||||
|
|
||||||
|
pluginDirs << appDir << libDir << lib64Dir << QDir( qApp->applicationDirPath() );
|
||||||
|
foreach ( const QDir& pluginDir, pluginDirs )
|
||||||
|
{
|
||||||
|
qDebug() << "Checking directory for resolvers:" << pluginDir;
|
||||||
|
foreach ( QString fileName, pluginDir.entryList( QStringList() << "*_tomahawkresolver*", QDir::Files ) ){
|
||||||
|
if ( fileName.contains( "_tomahawkresolver" ) ) {
|
||||||
|
const QString path = pluginDir.absoluteFilePath( fileName );
|
||||||
|
if( !m_allResolvers.contains( path ) ) {
|
||||||
|
m_allResolvers.append( path );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -48,6 +48,8 @@ public:
|
|||||||
QStringList allResolvers() const;
|
QStringList allResolvers() const;
|
||||||
QStringList enabledResolvers() const;
|
QStringList enabledResolvers() const;
|
||||||
private:
|
private:
|
||||||
|
void addInstalledResolvers();
|
||||||
|
|
||||||
QStringList m_allResolvers;
|
QStringList m_allResolvers;
|
||||||
QStringList m_enabledResolvers;
|
QStringList m_enabledResolvers;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user