1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-10 16:14:40 +02:00

* Empty TrackDetailView when no query is selected.

This commit is contained in:
Christian Muehlhaeuser
2014-08-25 13:15:18 +02:00
parent 90fd21f3f1
commit d68cbe3a16

View File

@@ -127,9 +127,7 @@ TrackDetailView::TrackDetailView( QWidget* parent )
layout->setStretchFactor( resultsScrollArea, 1 ); layout->setStretchFactor( resultsScrollArea, 1 );
setLayout( layout ); setLayout( layout );
setQuery( query_ptr() );
m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, TomahawkUtils::Original, QSize( 48, 48 ) );
m_playableCover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, TomahawkUtils::Grid, m_playableCover->size() ) );
} }
@@ -141,10 +139,7 @@ TrackDetailView::~TrackDetailView()
void void
TrackDetailView::setQuery( const Tomahawk::query_ptr& query ) TrackDetailView::setQuery( const Tomahawk::query_ptr& query )
{ {
if ( query.isNull() ) if ( m_query )
return;
if ( !m_query.isNull() )
{ {
disconnect( m_query->track().data(), SIGNAL( updated() ), this, SLOT( onCoverUpdated() ) ); disconnect( m_query->track().data(), SIGNAL( updated() ), this, SLOT( onCoverUpdated() ) );
disconnect( m_query->track().data(), SIGNAL( socialActionsLoaded() ), this, SLOT( onSocialActionsLoaded() ) ); disconnect( m_query->track().data(), SIGNAL( socialActionsLoaded() ), this, SLOT( onSocialActionsLoaded() ) );
@@ -153,8 +148,16 @@ TrackDetailView::setQuery( const Tomahawk::query_ptr& query )
m_query = query; m_query = query;
m_playableCover->setQuery( query ); m_playableCover->setQuery( query );
onCoverUpdated();
onResultsChanged(); onResultsChanged();
setSocialActions();
onCoverUpdated();
if ( !query )
{
m_dateLabel->setText( QString() );
m_nameLabel->clear();
return;
}
m_dateLabel->setText( tr( "Unknown Release-Date" ) ); m_dateLabel->setText( tr( "Unknown Release-Date" ) );
if ( m_query->track()->albumPtr() && !m_query->track()->albumPtr()->name().isEmpty() ) if ( m_query->track()->albumPtr() && !m_query->track()->albumPtr()->name().isEmpty() )
@@ -177,7 +180,7 @@ TrackDetailView::setQuery( const Tomahawk::query_ptr& query )
void void
TrackDetailView::onCoverUpdated() TrackDetailView::onCoverUpdated()
{ {
if ( m_query->track()->cover( QSize( 0, 0 ) ).isNull() ) if ( !m_query || m_query->track()->cover( QSize( 0, 0 ) ).isNull() )
{ {
m_playableCover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, TomahawkUtils::Grid, m_playableCover->size() ) ); m_playableCover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, TomahawkUtils::Grid, m_playableCover->size() ) );
return; return;
@@ -185,8 +188,6 @@ TrackDetailView::onCoverUpdated()
m_pixmap = m_query->track()->cover( m_playableCover->size() ); m_pixmap = m_query->track()->cover( m_playableCover->size() );
m_playableCover->setPixmap( m_pixmap ); m_playableCover->setPixmap( m_pixmap );
setSocialActions();
} }
@@ -204,7 +205,7 @@ TrackDetailView::onSocialActionsLoaded()
void void
TrackDetailView::setSocialActions() TrackDetailView::setSocialActions()
{ {
if ( m_query->track()->loved() ) if ( m_query && m_query->track()->loved() )
{ {
m_lovedIcon->setVisible( true ); m_lovedIcon->setVisible( true );
m_lovedLabel->setVisible( true ); m_lovedLabel->setVisible( true );