mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-08 07:07:05 +02:00
* This should fix stations ignoring playable but not perfectly solved queries.
This commit is contained in:
@@ -81,7 +81,6 @@ DynamicModel::newTrackGenerated( const Tomahawk::query_ptr& query )
|
|||||||
{
|
{
|
||||||
if( m_onDemandRunning ) {
|
if( m_onDemandRunning ) {
|
||||||
connect( query.data(), SIGNAL( resolvingFinished( bool ) ), this, SLOT( trackResolveFinished( bool ) ) );
|
connect( query.data(), SIGNAL( resolvingFinished( bool ) ), this, SLOT( trackResolveFinished( bool ) ) );
|
||||||
connect( query.data(), SIGNAL( solvedStateChanged( bool ) ), this, SLOT( trackResolved( bool ) ) );
|
|
||||||
|
|
||||||
append( query );
|
append( query );
|
||||||
}
|
}
|
||||||
@@ -106,31 +105,12 @@ DynamicModel::changeStation()
|
|||||||
m_playlist->generator()->startOnDemand();
|
m_playlist->generator()->startOnDemand();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
DynamicModel::trackResolved( bool resolved )
|
|
||||||
{
|
|
||||||
if( !resolved )
|
|
||||||
return;
|
|
||||||
|
|
||||||
Query* q = qobject_cast<Query*>(sender());
|
|
||||||
qDebug() << "Got successful resolved track:" << q->track() << q->artist() << m_lastResolvedRow << m_currentAttempts;
|
|
||||||
|
|
||||||
if( m_currentAttempts > 0 ) {
|
|
||||||
qDebug() << "EMITTING AN ASK FOR COLLAPSE:" << m_lastResolvedRow << m_currentAttempts;
|
|
||||||
emit collapseFromTo( m_lastResolvedRow, m_currentAttempts );
|
|
||||||
}
|
|
||||||
m_currentAttempts = 0;
|
|
||||||
m_searchingForNext = false;
|
|
||||||
|
|
||||||
emit checkForOverflow();
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
DynamicModel::trackResolveFinished( bool success )
|
DynamicModel::trackResolveFinished( bool success )
|
||||||
{
|
{
|
||||||
if( !success ) { // if it was successful, we've already gotten a trackResolved() signal
|
Query* q = qobject_cast<Query*>(sender());
|
||||||
Query* q = qobject_cast<Query*>(sender());
|
|
||||||
|
if( !q->playable() ) {
|
||||||
qDebug() << "Got not resolved track:" << q->track() << q->artist() << m_lastResolvedRow << m_currentAttempts;
|
qDebug() << "Got not resolved track:" << q->track() << q->artist() << m_lastResolvedRow << m_currentAttempts;
|
||||||
m_currentAttempts++;
|
m_currentAttempts++;
|
||||||
|
|
||||||
@@ -143,6 +123,18 @@ DynamicModel::trackResolveFinished( bool success )
|
|||||||
emit trackGenerationFailure( tr( "Could not find a playable track.\n\nPlease change the filters or try again." ) );
|
emit trackGenerationFailure( tr( "Could not find a playable track.\n\nPlease change the filters or try again." ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
qDebug() << "Got successful resolved track:" << q->track() << q->artist() << m_lastResolvedRow << m_currentAttempts;
|
||||||
|
|
||||||
|
if( m_currentAttempts > 0 ) {
|
||||||
|
qDebug() << "EMITTING AN ASK FOR COLLAPSE:" << m_lastResolvedRow << m_currentAttempts;
|
||||||
|
emit collapseFromTo( m_lastResolvedRow, m_currentAttempts );
|
||||||
|
}
|
||||||
|
m_currentAttempts = 0;
|
||||||
|
m_searchingForNext = false;
|
||||||
|
|
||||||
|
emit checkForOverflow();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -66,7 +66,6 @@ private slots:
|
|||||||
void newTrackGenerated( const Tomahawk::query_ptr& query );
|
void newTrackGenerated( const Tomahawk::query_ptr& query );
|
||||||
|
|
||||||
void trackResolveFinished( bool );
|
void trackResolveFinished( bool );
|
||||||
void trackResolved( bool );
|
|
||||||
void newTrackLoading();
|
void newTrackLoading();
|
||||||
|
|
||||||
void filteringTrackResolved( bool successful );
|
void filteringTrackResolved( bool successful );
|
||||||
|
Reference in New Issue
Block a user