1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-09 07:36:48 +02:00

* Always base playlist changes on currently loaded revision.

This commit is contained in:
Christian Muehlhaeuser
2013-04-27 01:14:49 +02:00
parent 5923a754dd
commit d8c5c74258
2 changed files with 14 additions and 14 deletions

View File

@@ -587,23 +587,23 @@ Playlist::onResolvingFinished()
void void
Playlist::addEntry( const query_ptr& query, const QString& oldrev ) Playlist::addEntry( const query_ptr& query )
{ {
QList<query_ptr> queries; QList<query_ptr> queries;
queries << query; queries << query;
addEntries( queries, oldrev ); addEntries( queries );
} }
void void
Playlist::addEntries( const QList<query_ptr>& queries, const QString& oldrev ) Playlist::addEntries( const QList<query_ptr>& queries )
{ {
if ( !m_loaded ) if ( !m_loaded )
{ {
tDebug() << Q_FUNC_INFO << "Queueing addEntries call!"; tDebug() << Q_FUNC_INFO << "Queueing addEntries call!";
loadRevision( oldrev ); loadRevision();
m_queuedOps << NewClosure( 0, "", this, SLOT( addEntries( QList<Tomahawk::query_ptr>, QString ) ), queries, oldrev ); m_queuedOps << NewClosure( 0, "", this, SLOT( addEntries( QList<Tomahawk::query_ptr> ) ), queries );
return; return;
} }
@@ -611,7 +611,7 @@ Playlist::addEntries( const QList<query_ptr>& queries, const QString& oldrev )
const int prevSize = m_entries.size(); const int prevSize = m_entries.size();
QString newrev = uuid(); QString newrev = uuid();
createNewRevision( newrev, oldrev, el ); createNewRevision( newrev, m_currentrevision, el );
// We are appending at end, so notify listeners. // We are appending at end, so notify listeners.
// PlaylistModel also emits during appends, but since we call // PlaylistModel also emits during appends, but since we call
@@ -623,13 +623,13 @@ Playlist::addEntries( const QList<query_ptr>& queries, const QString& oldrev )
void void
Playlist::insertEntries( const QList< query_ptr >& queries, const int position, const QString& oldrev ) Playlist::insertEntries( const QList< query_ptr >& queries, const int position )
{ {
if ( !m_loaded ) if ( !m_loaded )
{ {
tDebug() << Q_FUNC_INFO << "Queueing insertEntries call!"; tDebug() << Q_FUNC_INFO << "Queueing insertEntries call!";
loadRevision( oldrev ); loadRevision();
m_queuedOps << NewClosure( 0, "", this, SLOT( insertEntries( QList<Tomahawk::query_ptr>, int, QString ) ), queries, position, oldrev ); m_queuedOps << NewClosure( 0, "", this, SLOT( insertEntries( QList<Tomahawk::query_ptr>, int ) ), queries, position );
return; return;
} }
@@ -640,14 +640,14 @@ Playlist::insertEntries( const QList< query_ptr >& queries, const int position,
if ( position > m_entries.size() ) if ( position > m_entries.size() )
{ {
tDebug() << "ERROR trying to insert tracks past end of playlist! Appending!"; tDebug() << "ERROR trying to insert tracks past end of playlist! Appending!";
addEntries( queries, oldrev ); addEntries( queries );
return; return;
} }
for ( int i = toInsert.size()-1; i >= 0; --i ) for ( int i = toInsert.size()-1; i >= 0; --i )
entries.insert( position, toInsert.at(i) ); entries.insert( position, toInsert.at(i) );
createNewRevision( uuid(), oldrev, entries ); createNewRevision( uuid(), m_currentrevision, entries );
// We are appending at end, so notify listeners. // We are appending at end, so notify listeners.
// PlaylistModel also emits during appends, but since we call // PlaylistModel also emits during appends, but since we call

View File

@@ -198,9 +198,9 @@ public slots:
// entries should be <= entries(), with changed metadata. // entries should be <= entries(), with changed metadata.
void updateEntries( const QString& newrev, const QString& oldrev, const QList< plentry_ptr >& entries ); void updateEntries( const QString& newrev, const QString& oldrev, const QList< plentry_ptr >& entries );
virtual void addEntry( const Tomahawk::query_ptr& query, const QString& oldrev ); virtual void addEntry( const Tomahawk::query_ptr& query );
virtual void addEntries( const QList<Tomahawk::query_ptr>& queries, const QString& oldrev ); virtual void addEntries( const QList<Tomahawk::query_ptr>& queries );
virtual void insertEntries( const QList<Tomahawk::query_ptr>& queries, const int position, const QString& oldrev ); virtual void insertEntries( const QList<Tomahawk::query_ptr>& queries, const int position );
void reportCreated( const Tomahawk::playlist_ptr& self ); void reportCreated( const Tomahawk::playlist_ptr& self );
void reportDeleted( const Tomahawk::playlist_ptr& self ); void reportDeleted( const Tomahawk::playlist_ptr& self );