Changeset View
Changeset View
Standalone View
Standalone View
src/services/magnatune/MagnatuneStore.cpp
Show First 20 Lines • Show All 434 Lines • ▼ Show 20 Line(s) | 432 | { | |||
---|---|---|---|---|---|
435 | //only care if the user has a download membership | 435 | //only care if the user has a download membership | ||
436 | if( !m_isMember || m_membershipType != MagnatuneConfig::DOWNLOAD ) | 436 | if( !m_isMember || m_membershipType != MagnatuneConfig::DOWNLOAD ) | ||
437 | return; | 437 | return; | ||
438 | 438 | | |||
439 | //we only enable the purchase button if there is only one item selected and it happens to | 439 | //we only enable the purchase button if there is only one item selected and it happens to | ||
440 | //be an album or a track | 440 | //be an album or a track | ||
441 | Meta::DataPtr dataPtr = selectedItem->data(); | 441 | Meta::DataPtr dataPtr = selectedItem->data(); | ||
442 | 442 | | |||
443 | if ( typeid( * dataPtr.data() ) == typeid( Meta::MagnatuneTrack ) ) { | 443 | if ( auto track = AmarokSharedPointer<Meta::MagnatuneTrack>::dynamicCast( dataPtr ) ) | ||
444 | 444 | { | |||
445 | debug() << "is right type (track)"; | 445 | debug() << "is right type (track)"; | ||
446 | Meta::MagnatuneTrack * track = static_cast<Meta::MagnatuneTrack *> ( dataPtr.data() ); | | |||
447 | m_currentAlbum = static_cast<Meta::MagnatuneAlbum *> ( track->album().data() ); | 446 | m_currentAlbum = static_cast<Meta::MagnatuneAlbum *> ( track->album().data() ); | ||
448 | m_downloadAlbumButton->setEnabled( true ); | 447 | m_downloadAlbumButton->setEnabled( true ); | ||
449 | 448 | } | |||
450 | } else if ( typeid( * dataPtr.data() ) == typeid( Meta::MagnatuneAlbum ) ) { | 449 | else if ( auto album = AmarokSharedPointer<Meta::MagnatuneAlbum>::dynamicCast( dataPtr ) ) | ||
451 | 450 | { | |||
452 | m_currentAlbum = static_cast<Meta::MagnatuneAlbum *> ( dataPtr.data() ); | 451 | m_currentAlbum = album.data(); | ||
453 | debug() << "is right type (album) named " << m_currentAlbum->name(); | 452 | debug() << "is right type (album) named " << m_currentAlbum->name(); | ||
454 | 453 | | |||
455 | m_downloadAlbumButton->setEnabled( true ); | 454 | m_downloadAlbumButton->setEnabled( true ); | ||
456 | } else { | 455 | } | ||
457 | 456 | else | |||
457 | { | ||||
458 | debug() << "is wrong type"; | 458 | debug() << "is wrong type"; | ||
459 | m_downloadAlbumButton->setEnabled( false ); | 459 | m_downloadAlbumButton->setEnabled( false ); | ||
460 | | ||||
461 | } | 460 | } | ||
462 | } | 461 | } | ||
463 | 462 | | |||
464 | 463 | | |||
465 | void MagnatuneStore::addMoodyTracksToPlaylist( const QString &mood, int count ) | 464 | void MagnatuneStore::addMoodyTracksToPlaylist( const QString &mood, int count ) | ||
466 | { | 465 | { | ||
467 | MagnatuneDatabaseWorker *databaseWorker = new MagnatuneDatabaseWorker(); | 466 | MagnatuneDatabaseWorker *databaseWorker = new MagnatuneDatabaseWorker(); | ||
468 | databaseWorker->fetchTrackswithMood( mood, count, m_registry ); | 467 | databaseWorker->fetchTrackswithMood( mood, count, m_registry ); | ||
▲ Show 20 Lines • Show All 278 Lines • Show Last 20 Lines |