diff --git a/src/libtomahawk/playlist/XspfUpdater.cpp b/src/libtomahawk/playlist/XspfUpdater.cpp index 585707c9c..e793e0ba1 100644 --- a/src/libtomahawk/playlist/XspfUpdater.cpp +++ b/src/libtomahawk/playlist/XspfUpdater.cpp @@ -112,6 +112,14 @@ XspfUpdater::updateNow() void XspfUpdater::playlistLoaded( const QList& newEntries ) { + XSPFLoader* loader = qobject_cast< XSPFLoader* >( sender() ); + if ( loader ) + { + const QString newTitle = loader->title(); + if ( newTitle != playlist()->title() ) + playlist()->rename( newTitle ); + } + QList< query_ptr > tracks; foreach ( const plentry_ptr ple, playlist()->entries() ) tracks << ple->query(); diff --git a/src/libtomahawk/playlist/XspfUpdater.h b/src/libtomahawk/playlist/XspfUpdater.h index 6cff1d875..ad862f6e2 100644 --- a/src/libtomahawk/playlist/XspfUpdater.h +++ b/src/libtomahawk/playlist/XspfUpdater.h @@ -33,7 +33,7 @@ class DLLEXPORT XspfUpdater : public PlaylistUpdaterInterface { Q_OBJECT public: - XspfUpdater( const playlist_ptr& pl, int interval, bool autoUpdate, const QString& xspfUrl ); + XspfUpdater( const playlist_ptr& pl, int interval /* ms */, bool autoUpdate, const QString& xspfUrl ); virtual ~XspfUpdater(); diff --git a/src/libtomahawk/utils/XspfLoader.cpp b/src/libtomahawk/utils/XspfLoader.cpp index 01515a548..a3d137738 100644 --- a/src/libtomahawk/utils/XspfLoader.cpp +++ b/src/libtomahawk/utils/XspfLoader.cpp @@ -89,6 +89,13 @@ XSPFLoader::entries() const } +QString +XSPFLoader::title() const +{ + return m_title; +} + + void XSPFLoader::load( const QUrl& url ) { diff --git a/src/libtomahawk/utils/XspfLoader.h b/src/libtomahawk/utils/XspfLoader.h index ca57547fb..c23279196 100644 --- a/src/libtomahawk/utils/XspfLoader.h +++ b/src/libtomahawk/utils/XspfLoader.h @@ -45,6 +45,7 @@ public: virtual ~XSPFLoader(); QList< Tomahawk::query_ptr > entries() const; + QString title() const; void setOverrideTitle( const QString& newTitle ); void setAutoResolveTracks( bool autoResolve ) { m_autoResolve = autoResolve; }