X-Git-Url: http://git.maemo.org/git/?p=someplayer;a=blobdiff_plain;f=src%2Fdbstorage.cpp;h=429e00ca28552c24f5bd084be1e3c6c5e14a2ae8;hp=49213716c4cd689be933ba8320c2dd3dcaa00be8;hb=a33363a44394be6efff8593737eaa53efd9b6c01;hpb=c92d96e01d110d72cee8e8d307667507bf5d6fff diff --git a/src/dbstorage.cpp b/src/dbstorage.cpp index 4921371..429e00c 100644 --- a/src/dbstorage.cpp +++ b/src/dbstorage.cpp @@ -27,7 +27,7 @@ void DbStorage::_prepare_queries() { _get_tracks_for_album_query = new QSqlQuery(db); _get_tracks_for_album_query->prepare("SELECT id, title, source, count, length FROM tracks WHERE artist_id IN " "(SELECT id FROM artist WHERE name = :artist_name) AND album_id IN " - "(SELECT id FROM album WHERE name =: album_name);"); + "(SELECT id FROM album WHERE name = :album_name);"); _get_favorites_query = new QSqlQuery(db); _get_favorites_query->prepare("SELECT track_id as id, title, artist, album.name as album, source, count, length FROM " @@ -77,6 +77,12 @@ void DbStorage::_prepare_queries() { _insert_date_query = new QSqlQuery(db); _insert_date_query->prepare("INSERT INTO adding_date (track_id, date) values (:track_id, strftime('%s', 'now'))"); + + _insert_favorites_query = new QSqlQuery(db); + _insert_favorites_query->prepare("INSERT INTO favorites (track_id) values (:track_id)"); + + _update_track_count_query = new QSqlQuery(db); + _update_track_count_query->prepare("UPDATE tracks SET count = :count where id = :id"); } void DbStorage::_create_database_structure() { @@ -123,6 +129,8 @@ DbStorage::~DbStorage() { delete _insert_artist_query; delete _insert_date_query; delete _insert_track_query; + delete _insert_favorites_query; + delete _update_track_count_query; db.close(); } @@ -318,10 +326,17 @@ void DbStorage::addTrack(Track track) { } } -void DbStorage::addToFavorites(Track) { +void DbStorage::addToFavorites(Track track) { + QSqlQuery *query = _insert_favorites_query; + query->bindValue(":track_id", track.id()); + query->exec(); } -void DbStorage::updateTrack(Track) { +void DbStorage::updateTrackCount(Track track) { + QSqlQuery *query = _update_track_count_query; + query->bindValue(":count", track.count()); + query->bindValue(":id", track.id()); + query->exec(); } int DbStorage::_check_add_artist(QString artist) {