summaryrefslogtreecommitdiffstats
path: root/indexerwidget.h
diff options
context:
space:
mode:
Diffstat (limited to 'indexerwidget.h')
-rw-r--r--indexerwidget.h23
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 {