tageditor/dbquery/lyricswikia.h

36 lines
1.1 KiB
C
Raw Normal View History

#ifndef QTGUI_LYRICSWIKIA_H
#define QTGUI_LYRICSWIKIA_H
#include "./dbquery.h"
#include <map>
namespace QtGui {
2018-03-07 01:18:01 +01:00
class LyricsWikiaResultsModel : public HttpResultsModel {
Q_OBJECT
public:
explicit LyricsWikiaResultsModel(SongDescription &&initialSongDescription, QNetworkReply *reply);
2019-04-21 17:08:24 +02:00
bool fetchCover(const QModelIndex &index) override;
bool fetchLyrics(const QModelIndex &index) override;
QUrl webUrl(const QModelIndex &index) override;
protected:
2019-04-21 17:08:24 +02:00
void parseInitialResults(const QByteArray &data) override;
private:
QNetworkReply *requestSongDetails(const SongDescription &songDescription);
QNetworkReply *requestAlbumDetails(const SongDescription &songDescription);
void handleSongDetailsFinished(QNetworkReply *reply, int row);
void parseSongDetails(int row, const QByteArray &data);
void handleLyricsReplyFinished(QNetworkReply *reply, int row);
void parseLyricsResults(int row, const QByteArray &data);
void handleAlbumDetailsReplyFinished(QNetworkReply *reply, int row);
void parseAlbumDetailsAndFetchCover(int row, const QByteArray &data);
};
} // namespace QtGui
#endif // QTGUI_LYRICSWIKIA_H