summaryrefslogtreecommitdiffstats
path: root/indexerwidget.h
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2017-02-18 23:20:41 +0100
committerArno <arno@disconnect.de>2017-02-18 23:20:41 +0100
commit641a22fe72e01c49ea1f9c05d9c133547ff507f5 (patch)
tree3b3037ca47165b01d364153c6c75861df545b934 /indexerwidget.h
parent1803f4a72385856920aeeeaeab1e04b7f0a123dc (diff)
downloadBeetPlayer-641a22fe72e01c49ea1f9c05d9c133547ff507f5.tar.gz
BeetPlayer-641a22fe72e01c49ea1f9c05d9c133547ff507f5.tar.bz2
BeetPlayer-641a22fe72e01c49ea1f9c05d9c133547ff507f5.zip
First version of IndexerWidget
List metadata of files, nothing else...
Diffstat (limited to 'indexerwidget.h')
-rw-r--r--indexerwidget.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/indexerwidget.h b/indexerwidget.h
new file mode 100644
index 0000000..9fab07a
--- /dev/null
+++ b/indexerwidget.h
@@ -0,0 +1,57 @@
+#ifndef INDEXERWIDGET_H
+#define INDEXERWIDGET_H
+
+#include <QWidget>
+#include <QThread>
+#include <QMutex>
+
+#include "taglib/fileref.h"
+
+class QTextEdit;
+class BeetReader;
+struct BeetObject;
+
+class IndexerWidget : public QWidget {
+ Q_OBJECT
+ public:
+ explicit IndexerWidget(QWidget *parent = 0);
+
+ public slots:
+ void startIndexing();
+ void stopIndexing();
+ void addToLog(QString msg);
+
+ private:
+ QTextEdit *mLog;
+ BeetReader *mReader;
+
+};
+
+class BeetReader : public QThread {
+ Q_OBJECT
+ public:
+ explicit BeetReader();
+ virtual void run();
+ void cancel();
+
+ signals:
+ void message(const QString &msg);
+ void processed(BeetObject &obj);
+
+ private:
+ QString toQString(TagLib::String string);
+ QMutex mCancelMx;
+ bool mCanceled;
+};
+
+struct BeetObject {
+ QString artist;
+ QString album;
+ quint16 year;
+ QString genre;
+ quint16 pos;
+ QString title;
+ QString fullpath;
+};
+
+#endif // INDEXERWIDGET_H