~daschuer/mixxx/features_setlog

« back to all changes in this revision

Viewing changes to mixxx/src/library/dao/playlistdao.cpp

  • Committer: Bill Good
  • Date: 2011-07-19 18:13:34 UTC
  • mfrom: (2837.1.4 1.10)
  • Revision ID: bkgood@gmail.com-20110719181334-qfhonzqv50ino3iv
MergedĀ fromĀ lp:mixxx/1.10

Show diffs side-by-side

added added

removed removed

Lines of Context:
65
65
    }
66
66
    //query.finish();
67
67
 
 
68
    int playlistId = query.lastInsertId().toInt();
68
69
    //Commit the transaction
69
70
    m_database.commit();
 
71
    emit(added(playlistId));
70
72
    return true;
71
73
}
72
74
 
144
146
 
145
147
    m_database.commit();
146
148
    //TODO: Crap, we need to shuffle the positions of all the playlists?
 
149
 
 
150
    emit(deleted(playlistId));
147
151
}
148
152
 
149
153
 
243
247
 
244
248
    //Start the transaction
245
249
    m_database.commit();
 
250
 
 
251
    emit(trackAdded(playlistId, trackId, position));
 
252
    emit(changed(playlistId));
246
253
}
247
254
 
248
255
/** Find out how many playlists exist. */
310
317
    //          << QThread::currentThread() << m_database.connectionName();
311
318
    m_database.transaction();
312
319
    QSqlQuery query(m_database);
 
320
 
 
321
    query.prepare("SELECT id FROM PlaylistTracks WHERE playlist_id=:id "
 
322
                  "AND position=:position");
 
323
    query.bindValue(":id", playlistId);
 
324
    query.bindValue(":position", position);
 
325
 
 
326
    if (!query.exec()) {
 
327
        qDebug() << "removeTrackFromPlaylist" << query.lastError();
 
328
        m_database.rollback();
 
329
        return;
 
330
    }
 
331
 
 
332
    if (!query.next()) {
 
333
        qDebug() << "removeTrackFromPlaylist no track exists at position:"
 
334
                 << position << "in playlist:" << playlistId;
 
335
        return;
 
336
    }
 
337
    int trackId = query.value(query.record().indexOf("id")).toInt();
 
338
 
313
339
    //Delete the track from the playlist.
314
340
    query.prepare("DELETE FROM PlaylistTracks "
315
341
                  "WHERE playlist_id=:id AND position= :position");
330
356
    query.exec(queryString);
331
357
    //query.finish();
332
358
    m_database.commit();
 
359
 
 
360
    emit(trackRemoved(playlistId, trackId, position));
 
361
    emit(changed(playlistId));
333
362
}
334
363
 
335
364
void PlaylistDAO::insertTrackIntoPlaylist(int trackId, int playlistId, int position)
364
393
    //query.finish();
365
394
 
366
395
    m_database.commit();
 
396
 
 
397
    emit(trackAdded(playlistId, trackId, position));
 
398
    emit(changed(playlistId));
367
399
}
368
400
 
369
401
void PlaylistDAO::addToAutoDJQueue(int playlistId) {