QSpotifyAlbum::QSpotifyAlbum(sp_album *album) : QSpotifyObject(true) , m_isAvailable(false) , m_year(0) , m_type(Unknown) { connect(this, SIGNAL(dataChanged()), this, SIGNAL(albumDataChanged())); sp_album_add_ref(album); m_sp_album = album; metadataUpdated(); }
/*! Sets the data model for the container. */ void MpCollectionContainerAlbums::setDataModel( MpCollectionDataModel *dataModel ) { TX_ENTRY MpCollectionContainer::setDataModel(dataModel); if ( mCollectionContext == ECollectionContextAlbums ) { if ( mList ) { mList->setModel(dataModel); if ( mCollectionData->count() ) { mList->scrollTo( dataModel->index(mCurrentAlbumIndex, 0) ); } } } else if ( mCollectionContext == ECollectionContextAlbumsTBone ) { if ( mTBone ) { mTBone->setModel(dataModel); mTBone->scrollTo( dataModel->index(mCurrentAlbumIndex, 0) ); if ( mTBoneListModel == 0 ) { mTBoneListModel = new MpCollectionTBoneListDataModel(mCollectionData, MpEngineFactory::sharedEngine()->playbackData()); connect( mTBoneListModel, SIGNAL(albumDataChanged()), this, SLOT(albumDataChanged()) ); connect( mTBoneListModel, SIGNAL(albumDataAvailable()), this, SLOT(albumDataAvailable()) ); } mList->setModel(mTBoneListModel); if ( mCollectionData->setCurrentAlbum(mCurrentAlbumIndex) ) { if ( mCollectionData->albumSongsCount() > 1 ) { emit shuffleEnabled(true); } else { emit shuffleEnabled(false); } } else { emit findAlbumSongs(mCurrentAlbumIndex); emit shuffleEnabled(false); } } } TX_EXIT }
/*! Constructs the collection data model. */ MpCollectionTBoneListDataModel::MpCollectionTBoneListDataModel( MpMpxCollectionData *collectionData, MpPlaybackData *playbackData, QObject *parent ) : QAbstractListModel( parent ), mCollectionData( collectionData ), mPlaybackData( playbackData ), mRowCount( 0 ), mCurrentSongId( 0 ), mPlaybackActive( false ), mPlaybackIndicatorEnabled( false ) { TX_ENTRY connect( mCollectionData, SIGNAL(refreshAlbumSongs()), this, SLOT(refreshModel()) ); connect( mCollectionData, SIGNAL(albumDataChanged()), this, SIGNAL(albumDataChanged()) ); if ( mPlaybackData ) { connect( mPlaybackData, SIGNAL(fileCorrupted( int )), this, SLOT(fileCorrupted( int ))); } TX_EXIT }