diff options
Diffstat (limited to 'indexerwidget.cpp')
-rw-r--r-- | indexerwidget.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/indexerwidget.cpp b/indexerwidget.cpp index cd91c36..d773485 100644 --- a/indexerwidget.cpp +++ b/indexerwidget.cpp @@ -4,6 +4,7 @@ #include <QHBoxLayout> #include <QProcess> #include <QApplication> +#include <QDateTime> #include <QCursor> #include <QSqlQuery> #include <QFileInfo> @@ -89,7 +90,7 @@ BeetReader::BeetReader() : mCanceled(false){ mCurGenresQ = new QSqlQuery(mDb); mCurGenresQ->prepare("SELECT currval('genres_igenre_id__seq')"); mInsertAlbumQ = new QSqlQuery(mDb); - mInsertAlbumQ->prepare("INSERT INTO albums(talbum_name, siyear) VALUES(:name, :year)"); + mInsertAlbumQ->prepare("INSERT INTO albums(talbum_name, siyear, dadded) VALUES(:name, :year, :added)"); mCurAlbumQ = new QSqlQuery(mDb); mCurAlbumQ->prepare("SELECT currval('albums_ialbums_id__seq')"); mInsertSongQ = new QSqlQuery(mDb); @@ -129,11 +130,14 @@ void BeetReader::run(){ int length = file.audioProperties()->lengthInSeconds(); quint16 track = file.tag()->track(); quint16 year = file.tag()->year(); + QString parentDir = QFileInfo(QString(s)).absolutePath(); + QFileInfo albumDir(parentDir); + QDateTime created = albumDir.created(); //write to database int artistId = doArtist(artist); int genreId = doGenre(genre); - int albumId = doAlbum(album, year); + int albumId = doAlbum(album, year, created); doSong(title, track, albumId, genreId, artistId, s, length); if(ctr % 100 == 0){ @@ -213,7 +217,7 @@ int BeetReader::doGenre(QString name){ return retval; } -int BeetReader::doAlbum(QString name, int year){ +int BeetReader::doAlbum(QString name, int year, QDateTime created){ QString key = name; if(mAlbumH.contains(key)){ return mAlbumH.value(key); @@ -221,6 +225,7 @@ int BeetReader::doAlbum(QString name, int year){ mDb.transaction(); mInsertAlbumQ->bindValue(":name", name); mInsertAlbumQ->bindValue(":year", year); + mInsertAlbumQ->bindValue(":added", created.date()); mInsertAlbumQ->exec(); int retval = -1; mCurAlbumQ->exec(); |