diff options
author | RJ Ryan <rryan@mixxx.org> | 2016-01-24 15:47:40 -0800 |
---|---|---|
committer | RJ Ryan <rryan@mixxx.org> | 2016-01-24 15:47:40 -0800 |
commit | a4d9993d4c6466b5c7566676c12a96412343d75e (patch) | |
tree | 98c87cba70142d8f69a3e1804302f17f25fbf218 /src/library/dlgtagfetcher.h | |
parent | 385ff8079b3ba5dfdfc491cd976780c87d42c08e (diff) |
Tidy up the dialog mess in src/.
Diffstat (limited to 'src/library/dlgtagfetcher.h')
-rw-r--r-- | src/library/dlgtagfetcher.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/library/dlgtagfetcher.h b/src/library/dlgtagfetcher.h new file mode 100644 index 0000000000..a90c578166 --- /dev/null +++ b/src/library/dlgtagfetcher.h @@ -0,0 +1,62 @@ +#ifndef DLGTAGFETCHER_H +#define DLGTAGFETCHER_H + +#include <QDialog> +#include <QTreeWidget> + +#include "library/ui_dlgtagfetcher.h" +#include "trackinfoobject.h" +#include "musicbrainz/tagfetcher.h" + +class DlgTagFetcher : public QDialog, public Ui::DlgTagFetcher { + Q_OBJECT + + public: + DlgTagFetcher(QWidget *parent); + virtual ~DlgTagFetcher(); + + void init(); + + enum networkError { + NOERROR, + HTTPERROR, + FTWERROR + }; + + public slots: + void loadTrack(const TrackPointer track); + void updateTrackMetadata(TrackInfoObject* pTIO); + + signals: + void next(); + void previous(); + + private slots: + void fetchTagFinished(const TrackPointer,const QList<TrackPointer>& tracks); + void resultSelected(); + void fetchTagProgress(QString); + void slotNetworkError(int, QString); + void apply(); + void quit(); + + private: + void updateStack(); + void addDivider(const QString& text, QTreeWidget* parent) const; + void addTrack(const TrackPointer track, int resultIndex, + QTreeWidget* parent) const; + struct Data { + Data() : m_pending(true), m_selectedResult(-1) {} + + bool m_pending; + int m_selectedResult; + QList<TrackPointer> m_results; + }; + + TrackPointer m_track; + Data m_data; + QString m_progress; + TagFetcher m_TagFetcher; + networkError m_networkError; +}; + +#endif // DLGTAGFETCHER_H |