bool MagnatuneArtistInfoBox::displayAlbumInfo( MagnatuneAlbum *album ) { const MagnatuneArtist artist = MagnatuneDatabaseHandler::instance()->getArtistById( album->getArtistId() ); const QString artistName = artist.getName(); QString infoHtml = "<HTML><HEAD><META HTTP-EQUIV=\"Content-Type\" " "CONTENT=\"text/html; charset=iso-8859-1\"></HEAD><BODY>"; infoHtml += "<div align=\"center\"><strong>"; infoHtml += artistName; infoHtml += "</strong><br><em>"; infoHtml += album->getName(); infoHtml += "</em><br><br>"; infoHtml += "<img src=\"" + album->getCoverURL() + "\" align=\"middle\" border=\"1\">"; infoHtml += "<br><br>Genre: " + album->getMp3Genre(); infoHtml += "<br>Release Year: " + QString::number( album->getLaunchDate().year() ); infoHtml += "<br><br>From Magnatune.com</div>"; infoHtml += "</BODY></HTML>"; resetScrollBars(); begin(); write( infoHtml ); end(); show(); return true; }
void MagnatuneAlbumDownloader::albumDownloadComplete( KIO::Job * downloadJob ) { debug() << "album download complete" << endl; if ( !downloadJob->error() == 0 ) { //TODO: error handling here return ; } if ( downloadJob != m_albumDownloadJob ) return ; //not the right job, so let's ignore it //ok, now we have the .zip file downloaded. All we need is to unpack it to the desired location and add it to the collection. QString unzipString = "unzip "+ KProcess::quote( m_tempDir.name() + m_currentAlbumFileName) + " -d " +KProcess::quote( m_currentAlbumUnpackLocation ) + " &"; debug() << "unpacking: " << unzipString << endl; system( unzipString.ascii() ); if (m_currentAlbumId != -1 ) { //now I really want to add the album cover to the same folder where I just unzipped the album... The //only way of getting the actual location where the album was unpacked is using the artist and album names MagnatuneAlbum album = MagnatuneDatabaseHandler::instance()->getAlbumById( m_currentAlbumId ); MagnatuneArtist artist = MagnatuneDatabaseHandler::instance()->getArtistById( album.getArtistId() ); QString finalAlbumPath = m_currentAlbumUnpackLocation + "/" + artist.getName() + "/" + album.getName(); QString coverUrlString = album.getCoverURL(); KURL downloadUrl( coverUrlString ); debug() << "Adding cover " << downloadUrl.url() << " to collection at " << finalAlbumPath << endl; m_albumDownloadJob = KIO::file_copy( downloadUrl, KURL( finalAlbumPath + "/cover.jpg" ), -1, true, false, false ); connect( m_albumDownloadJob, SIGNAL( result( KIO::Job* ) ), SLOT( coverAddComplete( KIO::Job* ) ) ); Amarok::StatusBar::instance() ->newProgressOperation( m_albumDownloadJob ) .setDescription( i18n( "Adding album cover to collection" ) ) .setAbortSlot( this, SLOT( coverAddAborted() ) ); } else { //we do not know exactly what album this is (we are most likely using the redownload manager) emit( downloadComplete( true ) ); } }
void MagnatunePurchaseDialog::setAlbum( const MagnatuneAlbum &album ) { //albumEdit->setText("Hello!"); albumEdit->setText( album.getName() ); MagnatuneArtist artist = MagnatuneDatabaseHandler::instance()->getArtistById( album.getArtistId() ); artistEdit->setText( artist.getName() ); genresEdit->setText( album.getMp3Genre() ); launchDateEdit->setText( QString::number( album.getLaunchDate().year() ) ); m_albumCode = album.getAlbumCode(); }
void MagnatuneInfoParser::getInfo(ArtistPtr artist) { showLoading( i18n( "Loading artist info..." ) ); MagnatuneArtist * magnatuneArtist = dynamic_cast<MagnatuneArtist *>( artist.data() ); if ( magnatuneArtist == 0) return; debug() << "MagnatuneInfoParser: getInfo about artist"; // first get the entire artist html page /* QString tempFile; QString orgHtml;*/ m_infoDownloadJob = KIO::storedGet( magnatuneArtist->magnatuneUrl(), KIO::Reload, KIO::HideProgressInfo ); Amarok::Components::logger()->newProgressOperation( m_infoDownloadJob, i18n( "Fetching %1 Artist Info", magnatuneArtist->prettyName() ) ); connect( m_infoDownloadJob, SIGNAL(result(KJob *)), SLOT( artistInfoDownloadComplete( KJob*) ) ); }