diff options
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 { |