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

Properly save (or not) resulthints in playlist_entries

This commit is contained in:
Leo Franchi
2012-09-21 15:30:39 -04:00
parent 0ab9c9fd0b
commit 451d25c42f
2 changed files with 26 additions and 15 deletions

View File

@@ -153,7 +153,7 @@ DatabaseCommand_SetPlaylistRevision::exec( DatabaseImpl* lib )
if ( !e->query()->numResults() )
continue;
adde.bindValue( 0, e->query()->results().first()->url() );
adde.bindValue( 0, hintFromQuery( e->query() ) );
adde.bindValue( 1, e->guid() );
adde.exec();
}
@@ -189,7 +189,7 @@ DatabaseCommand_SetPlaylistRevision::exec( DatabaseImpl* lib )
"VALUES( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )";
adde.prepare( sql );
qDebug() << "Num new playlist_items to add:" << m_addedentries.length();
// qDebug() << "Num new playlist_items to add:" << m_addedentries.length();
foreach( const plentry_ptr& e, m_addedentries )
{
if ( !e->isValid() )
@@ -199,19 +199,7 @@ DatabaseCommand_SetPlaylistRevision::exec( DatabaseImpl* lib )
m_addedmap.insert( e->guid(), e ); // needed in postcommithook
QString resultHint, foundResult;
if ( !e->query()->results().isEmpty() )
foundResult = e->query()->results().first()->url();
else if ( !e->query()->resultHint().isEmpty() )
foundResult = e->query()->resultHint();
if ( foundResult.startsWith( "file://" ) ||
foundResult.startsWith( "servent://" ) || // Save resulthints for local files and peers automatically
( foundResult.startsWith( "http" ) && e->query()->saveHTTPResultHint() ) )
{
resultHint = foundResult;
}
const QString resultHint = hintFromQuery( e->query() );
adde.bindValue( 0, e->guid() );
adde.bindValue( 1, m_playlistguid );
@@ -279,3 +267,24 @@ DatabaseCommand_SetPlaylistRevision::exec( DatabaseImpl* lib )
// Q_ASSERT( false );
}
}
QString
DatabaseCommand_SetPlaylistRevision::hintFromQuery( const query_ptr& query ) const
{
QString resultHint, foundResult;
if ( !query->results().isEmpty() )
foundResult = query->results().first()->url();
else if ( !query->resultHint().isEmpty() )
foundResult = query->resultHint();
if ( foundResult.startsWith( "file://" ) ||
foundResult.startsWith( "servent://" ) || // Save resulthints for local files and peers automatically
( foundResult.startsWith( "http" ) && query->saveHTTPResultHint() ) )
{
resultHint = foundResult;
}
return resultHint;
}

View File

@@ -122,6 +122,8 @@ protected:
QString m_currentRevision;
private:
QString hintFromQuery( const query_ptr& query ) const;
QVariantList m_orderedguids;
QList<Tomahawk::plentry_ptr> m_addedentries, m_entries;