Index: meta/proxy/MetaProxy.cpp =================================================================== --- meta/proxy/MetaProxy.cpp (Revision 791803) +++ meta/proxy/MetaProxy.cpp (Arbeitskopie) @@ -73,7 +73,7 @@ d->proxy = this; d->cachedLength = 0; - QObject::connect( CollectionManager::instance(), SIGNAL( collectionAdded( Collection* ) ), d, SLOT( slotNewCollection( Collection* ) ) ); + QObject::connect( CollectionManager::instance(), SIGNAL( trackProviderAdded( Collection* ) ), d, SLOT( slotNewCollection( Collection* ) ) ); d->albumPtr = Meta::AlbumPtr( new ProxyAlbum( QPointer( d ) ) ); d->artistPtr = Meta::ArtistPtr( new ProxyArtist( QPointer( d ) ) ); Index: collection/CollectionManager.cpp =================================================================== --- collection/CollectionManager.cpp (Revision 791803) +++ collection/CollectionManager.cpp (Arbeitskopie) @@ -332,6 +332,7 @@ d->collections.append( newCollection ); d->trackProviders.append( newCollection ); emit collectionAdded( newCollection ); + emit trackProviderAdded( newCollection ); } } @@ -351,6 +352,7 @@ CollectionManager::addTrackProvider( TrackProvider *provider ) { d->trackProviders.append( provider ); + emit trackProviderAdded( provider ); } void Index: collection/CollectionManager.h =================================================================== --- collection/CollectionManager.h (Revision 791803) +++ collection/CollectionManager.h (Arbeitskopie) @@ -91,6 +91,7 @@ signals: void collectionAdded( Collection *newCollection ); void collectionRemoved( QString collectionId ); + void trackProviderAdded( TrackProvider *provider ); //this signal will be emitted after major changes to the collection //e.g. new songs where added, or an album changed //from compilation to non-compilation (and vice versa)