Implemented track count update and adding to favorites
authorNikolay Tischenko <niktischenko@gmail.com>
Sun, 5 Sep 2010 17:43:54 +0000 (00:43 +0700)
committerNikolay Tischenko <niktischenko@gmail.com>
Sun, 5 Sep 2010 17:43:54 +0000 (00:43 +0700)
src/dbstorage.cpp
src/dbstorage.h
src/library.cpp
src/library.h

index 4921371..03db3fd 100644 (file)
@@ -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_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() {
 }
 
 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_artist_query;
        delete _insert_date_query;
        delete _insert_track_query;
+       delete _insert_favorites_query;
+       delete _update_track_count_query;
        db.close();
 }
 
        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) {
 }
 
 int DbStorage::_check_add_artist(QString artist) {
index 7b771b0..34c4afe 100644 (file)
@@ -35,7 +35,7 @@ namespace SomePlayer {
                        void removeTrack(Track track);
                        void addToFavorites(Track track);
 
                        void removeTrack(Track track);
                        void addToFavorites(Track track);
 
-                       void updateTrack(Track track);
+                       void updateTrackCount(Track track);
                        void addTrack(Track track);
 
                private:
                        void addTrack(Track track);
 
                private:
@@ -61,9 +61,11 @@ namespace SomePlayer {
 
                        QSqlQuery *_insert_artist_query;
                        QSqlQuery *_insert_album_query;
 
                        QSqlQuery *_insert_artist_query;
                        QSqlQuery *_insert_album_query;
-
                        QSqlQuery *_insert_track_query;
                        QSqlQuery *_insert_date_query;
                        QSqlQuery *_insert_track_query;
                        QSqlQuery *_insert_date_query;
+                       QSqlQuery *_insert_favorites_query;
+
+                       QSqlQuery *_update_track_count_query;
                };
        };
 };
                };
        };
 };
index 54dcf09..9a530e8 100644 (file)
@@ -74,8 +74,8 @@ void Library::addToFavorites(Track track) {
        _library_storage->addToFavorites(track);
 }
 
        _library_storage->addToFavorites(track);
 }
 
-void Library::updateTrack(Track track) {
-       _library_storage->updateTrack(track);
+void Library::updateTrackCount(Track track) {
+       _library_storage->updateTrackCount(track);
 }
 
 
 }
 
 
index 36d3878..515f3d8 100644 (file)
@@ -60,7 +60,7 @@ namespace SomePlayer {
                        void removeTrack(Track);
                        void addTrack(Track);
                        void addToFavorites(Track);
                        void removeTrack(Track);
                        void addTrack(Track);
                        void addToFavorites(Track);
-                       void updateTrack(Track);
+                       void updateTrackCount(Track);
                };
 
        };
                };
 
        };