void IpodCopyTracksJob::trackProcessed( CopiedStatus status, Meta::TrackPtr srcTrack, Meta::TrackPtr destTrack ) { m_sourceTrackStatus.insert( status, srcTrack ); emit incrementProgress(); emit signalTrackProcessed( srcTrack, destTrack, status ); }
void IpodCollectionLocation::copyUrlsToCollection( const QMap<Meta::TrackPtr,KUrl> &sources, const Transcoding::Configuration &configuration ) { if( !isWritable() ) return; // mostly unreachable, CollectionLocation already checks this and issues a warning ensureDirectoriesExist(); IpodCopyTracksJob *job = new IpodCopyTracksJob( sources, m_coll, configuration, isGoingToRemoveSources() ); int trackCount = sources.size(); Amarok::Components::logger()->newProgressOperation( job, operationInProgressText( configuration, trackCount ), trackCount, job, SLOT(abort()) ); qRegisterMetaType<IpodCopyTracksJob::CopiedStatus>( "IpodCopyTracksJob::CopiedStatus" ); connect( job, SIGNAL(signalTrackProcessed(Meta::TrackPtr,Meta::TrackPtr,IpodCopyTracksJob::CopiedStatus)), this, SLOT(slotCopyTrackProcessed(Meta::TrackPtr,Meta::TrackPtr,IpodCopyTracksJob::CopiedStatus)) ); connect( job, SIGNAL(done(ThreadWeaver::Job*)), this, SLOT(slotCopyOperationFinished()) ); connect( job, SIGNAL(done(ThreadWeaver::Job*)), job, SLOT(deleteLater()) ); ThreadWeaver::Weaver::instance()->enqueue( job ); }