diff options
author | Arno <arno@disconnect.de> | 2017-02-19 09:16:06 +0100 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2017-02-19 09:16:06 +0100 |
commit | 720172459973a51381ca1bf427c481db3f0ee234 (patch) | |
tree | 9ecb34a5ec1477a0c99866bc61924ac329c4187b /indexerwidget.h | |
parent | 641a22fe72e01c49ea1f9c05d9c133547ff507f5 (diff) | |
download | BeetPlayer-720172459973a51381ca1bf427c481db3f0ee234.tar.gz BeetPlayer-720172459973a51381ca1bf427c481db3f0ee234.tar.bz2 BeetPlayer-720172459973a51381ca1bf427c481db3f0ee234.zip |
Make IndexerWidget do something
Well, actually index files!
Diffstat (limited to 'indexerwidget.h')
-rw-r--r-- | indexerwidget.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/indexerwidget.h b/indexerwidget.h index 9fab07a..9bcb62d 100644 --- a/indexerwidget.h +++ b/indexerwidget.h @@ -4,6 +4,7 @@ #include <QWidget> #include <QThread> #include <QMutex> +#include <QSqlDatabase> #include "taglib/fileref.h" @@ -20,9 +21,11 @@ class IndexerWidget : public QWidget { void startIndexing(); void stopIndexing(); void addToLog(QString msg); + void addToError(QString msg); private: QTextEdit *mLog; + QTextEdit *mError; BeetReader *mReader; }; @@ -36,12 +39,30 @@ class BeetReader : public QThread { signals: void message(const QString &msg); - void processed(BeetObject &obj); + void errorMsg(const QString &msg); + void cleared(); private: QString toQString(TagLib::String string); + void clearAll(); + int doArtist(QString name); + int doGenre(QString name); + int doAlbum(QString name, int genre, int artist, int year, QString fullPath); + void doSong(QString title, int pos, int album, QString fullpath); QMutex mCancelMx; bool mCanceled; + QSqlDatabase mDb; + QHash<QString, int> mArtistH; + QHash<QString, int> mGenreH; + QHash<QString, int> mAlbumH; + + QSqlQuery *mInsertArtistsQ; + QSqlQuery *mCurArtistQ; + QSqlQuery *mInsertGenresQ; + QSqlQuery *mCurGenresQ; + QSqlQuery *mInsertAlbumQ; + QSqlQuery *mCurAlbumQ; + QSqlQuery *mInsertSongQ; }; struct BeetObject { |