diff options
author | Arno <arno@disconnect.de> | 2017-02-18 23:20:41 +0100 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2017-02-18 23:20:41 +0100 |
commit | 641a22fe72e01c49ea1f9c05d9c133547ff507f5 (patch) | |
tree | 3b3037ca47165b01d364153c6c75861df545b934 /indexerwidget.h | |
parent | 1803f4a72385856920aeeeaeab1e04b7f0a123dc (diff) | |
download | BeetPlayer-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.h | 57 |
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 |