summaryrefslogtreecommitdiffstats
path: root/indexerwidget.h
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2017-02-19 09:16:06 +0100
committerArno <arno@disconnect.de>2017-02-19 09:16:06 +0100
commit720172459973a51381ca1bf427c481db3f0ee234 (patch)
tree9ecb34a5ec1477a0c99866bc61924ac329c4187b /indexerwidget.h
parent641a22fe72e01c49ea1f9c05d9c133547ff507f5 (diff)
downloadBeetPlayer-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.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 {