void
ScrobblesWidget::onTrackClicked( TrackWidget& trackWidget )
{
    MetadataWidget* w;
    ui->layout->addWidget( w = new MetadataWidget( trackWidget.track() ));
    w->fetchTrackInfo();
    w->setBackButtonVisible( true );

    trackWidget.startSpinner();
    connect( ui->layout, SIGNAL( moveFinished(QLayoutItem*)), &trackWidget, SLOT(clearSpinner()) );

    connect( w, SIGNAL(finished()), SLOT(onMetadataWidgetFinished()));
    connect( w, SIGNAL(backClicked()), SLOT(onBackClicked()));
}
void
ScrobblesListWidget::showEvent(QShowEvent *)
{
    QList<lastfm::Track> tracks;

    for ( int i = 0 ; i < count() ; ++i )
    {
        TrackWidget* trackWidget = qobject_cast<TrackWidget*>( itemWidget( item( i ) ) );

        if ( trackWidget && !item( i )->isHidden() )
            tracks << trackWidget->track();
    }

    fetchTrackInfo( tracks );
}