void ArtistInfoWidget::load( const artist_ptr& artist ) { m_artist = artist; m_title = artist->name(); m_albumsModel->addAlbums( artist, QModelIndex() ); Tomahawk::InfoSystem::InfoStringHash artistInfo; artistInfo["artist"] = artist->name(); Tomahawk::InfoSystem::InfoRequestData requestData; requestData.caller = m_infoId; requestData.customData = QVariantMap(); requestData.input = artist->name(); requestData.type = Tomahawk::InfoSystem::InfoArtistBiography; Tomahawk::InfoSystem::InfoSystem::instance()->getInfo( requestData ); requestData.input = QVariant::fromValue< Tomahawk::InfoSystem::InfoStringHash >( artistInfo ); requestData.type = Tomahawk::InfoSystem::InfoArtistImages; requestData.requestId = TomahawkUtils::infosystemRequestId(); Tomahawk::InfoSystem::InfoSystem::instance()->getInfo( requestData ); requestData.type = Tomahawk::InfoSystem::InfoArtistSimilars; requestData.requestId = TomahawkUtils::infosystemRequestId(); Tomahawk::InfoSystem::InfoSystem::instance()->getInfo( requestData ); requestData.type = Tomahawk::InfoSystem::InfoArtistSongs; requestData.requestId = TomahawkUtils::infosystemRequestId(); Tomahawk::InfoSystem::InfoSystem::instance()->getInfo( requestData ); }
void ArtistInfoWidget::load( const artist_ptr& artist ) { if ( !m_artist.isNull() ) disconnect( m_artist.data(), SIGNAL( updated() ), this, SLOT( onArtistImageUpdated() ) ); m_artist = artist; m_title = artist->name(); m_albumsModel->addAlbums( artist, QModelIndex(), true ); Tomahawk::InfoSystem::InfoStringHash artistInfo; artistInfo["artist"] = artist->name(); Tomahawk::InfoSystem::InfoRequestData requestData; requestData.caller = m_infoId; requestData.customData = QVariantMap(); requestData.input = artist->name(); requestData.type = Tomahawk::InfoSystem::InfoArtistBiography; Tomahawk::InfoSystem::InfoSystem::instance()->getInfo( requestData ); requestData.input = QVariant::fromValue< Tomahawk::InfoSystem::InfoStringHash >( artistInfo ); requestData.type = Tomahawk::InfoSystem::InfoArtistSimilars; requestData.requestId = TomahawkUtils::infosystemRequestId(); Tomahawk::InfoSystem::InfoSystem::instance()->getInfo( requestData ); requestData.type = Tomahawk::InfoSystem::InfoArtistSongs; requestData.requestId = TomahawkUtils::infosystemRequestId(); Tomahawk::InfoSystem::InfoSystem::instance()->getInfo( requestData ); connect( m_artist.data(), SIGNAL( updated() ), SLOT( onArtistImageUpdated() ) ); onArtistImageUpdated(); }
void TreeModel::fetchAlbums( const artist_ptr& artist ) { startLoading(); connect( artist.data(), SIGNAL( albumsAdded( QList<Tomahawk::album_ptr>, Tomahawk::ModelMode ) ), SLOT( onAlbumsFound( QList<Tomahawk::album_ptr>, Tomahawk::ModelMode ) ), Qt::UniqueConnection ); const QModelIndex parent = indexFromArtist( artist ); addAlbums( parent, artist->albums( m_mode, m_collection ) ); }
void IdThreadWorker::getArtistId( const artist_ptr& artist, bool autoCreate ) { QueueItem* item = internalGet( artist, album_ptr(), trackdata_ptr(), autoCreate, ArtistType ); artist->setIdFuture( item->promise.future() ); #if ID_THREAD_DEBUG tDebug() << "QUEUEING ARTIST:" << artist->name(); #endif s_mutex.lock(); s_workQueue.enqueue( item ); s_mutex.unlock(); s_waitCond.wakeOne(); #if ID_THREAD_DEBUG tDebug() << "DONE WOKE UP THREAD:" << artist->name(); #endif }
void ArtistInfoWidget::load( const artist_ptr& artist ) { if ( m_artist ) { disconnect( m_artist.data(), SIGNAL( updated() ), this, SLOT( onArtistImageUpdated() ) ); disconnect( m_artist.data(), SIGNAL( similarArtistsLoaded() ), this, SLOT( onSimilarArtistsLoaded() ) ); disconnect( m_artist.data(), SIGNAL( biographyLoaded() ), this, SLOT( onBiographyLoaded() ) ); disconnect( m_artist.data(), SIGNAL( albumsAdded( QList<Tomahawk::album_ptr>, Tomahawk::ModelMode ) ), this, SLOT( onAlbumsFound( QList<Tomahawk::album_ptr>, Tomahawk::ModelMode ) ) ); disconnect( m_artist.data(), SIGNAL( tracksAdded( QList<Tomahawk::query_ptr>, Tomahawk::ModelMode, Tomahawk::collection_ptr ) ), this, SLOT( onTracksFound( QList<Tomahawk::query_ptr>, Tomahawk::ModelMode ) ) ); } m_artist = artist; m_title = artist->name(); ui->artistLabel->setText( artist->name() ); connect( m_artist.data(), SIGNAL( biographyLoaded() ), SLOT( onBiographyLoaded() ) ); connect( m_artist.data(), SIGNAL( similarArtistsLoaded() ), SLOT( onSimilarArtistsLoaded() ) ); connect( m_artist.data(), SIGNAL( updated() ), SLOT( onArtistImageUpdated() ) ); connect( m_artist.data(), SIGNAL( albumsAdded( QList<Tomahawk::album_ptr>, Tomahawk::ModelMode ) ), SLOT( onAlbumsFound( QList<Tomahawk::album_ptr>, Tomahawk::ModelMode ) ) ); connect( m_artist.data(), SIGNAL( tracksAdded( QList<Tomahawk::query_ptr>, Tomahawk::ModelMode, Tomahawk::collection_ptr ) ), SLOT( onTracksFound( QList<Tomahawk::query_ptr>, Tomahawk::ModelMode ) ) ); ui->cover->setArtist( artist ); m_topHitsModel->startLoading(); if ( !m_artist->albums( Mixed ).isEmpty() ) onAlbumsFound( m_artist->albums( Mixed ), Mixed ); if ( !m_artist->tracks().isEmpty() ) onTracksFound( m_artist->tracks(), Mixed ); if ( !m_artist->similarArtists().isEmpty() ) onSimilarArtistsLoaded(); if ( !m_artist->biography().isEmpty() ) onBiographyLoaded(); onArtistImageUpdated(); }
QUrl GlobalActionManager::copyOpenLink( const artist_ptr& artist ) const { const QUrl link( QString( "%1/artist/%2" ).arg( hostname() ).arg( artist->name() ) ); QClipboard* cb = QApplication::clipboard(); QByteArray data = percentEncode( link ); cb->setText( data ); return link; }
void TreeModel::addArtists( const artist_ptr& artist ) { if ( artist.isNull() ) return; startLoading(); QList<Tomahawk::artist_ptr> artists; artists << artist; onArtistsAdded( artists ); }
void InfoBar::setDescription( const artist_ptr& artist ) { m_queryLabel->setQuery( Query::get( artist->name(), QString(), QString() ) ); m_queryLabel->setExtraContentsMargins( 4, 0, 0, 0 ); if ( !m_queryLabel->isVisible() ) { ui->verticalLayout->removeWidget( ui->descriptionLabel ); ui->descriptionLabel->hide(); m_queryLabel->show(); ui->verticalLayout->addWidget( m_queryLabel ); ui->verticalLayout->setContentsMargins( 0, 0, 0, 15 ); } }