diff options
author | Arno <arno@disconnect.de> | 2017-05-02 12:53:58 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2017-05-02 12:53:58 +0200 |
commit | 8264985db448b16c5f6e6cbe3c3296c631d8e93d (patch) | |
tree | 77d5516e693a4da00c495d6da3ab17c3af00e1a1 | |
parent | 2cda7e844709ed533f2ac146fd7a608f5e41f709 (diff) | |
download | BeetPlayer-8264985db448b16c5f6e6cbe3c3296c631d8e93d.tar.gz BeetPlayer-8264985db448b16c5f6e6cbe3c3296c631d8e93d.tar.bz2 BeetPlayer-8264985db448b16c5f6e6cbe3c3296c631d8e93d.zip |
Add creation date of directory to db
This is in preparation for a new view to show albums in the order they
were added.
-rw-r--r-- | indexerwidget.cpp | 11 | ||||
-rw-r--r-- | indexerwidget.h | 2 |
2 files changed, 9 insertions, 4 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(); diff --git a/indexerwidget.h b/indexerwidget.h index 7b907f5..cd3621c 100644 --- a/indexerwidget.h +++ b/indexerwidget.h @@ -51,7 +51,7 @@ class BeetReader : public QThread { void clearAll(); int doArtist(QString name); int doGenre(QString name); - int doAlbum(QString name, int year); + int doAlbum(QString name, int year, QDateTime created); void doSong(QString title, int pos, int album, int genre, int artist, QString fullpath, int length); QMutex mCancelMx; bool mCanceled; |