diff --git a/src/thumbnaildownloader.cpp b/src/thumbnaildownloader.cpp index c496a14..ce8f9f8 100644 --- a/src/thumbnaildownloader.cpp +++ b/src/thumbnaildownloader.cpp @@ -18,7 +18,7 @@ ThumbnailDownloader::~ThumbnailDownloader() { } -void ThumbnailDownloader::addDownload(QString url, QModelIndex index) +void ThumbnailDownloader::addDownload(QString url, ThumbnailId index) { m_urlPairList.append({index, url}); if (!m_isDownloading) @@ -35,18 +35,18 @@ void ThumbnailDownloader::startDownload() downloadOnePair(m_urlPairList.takeFirst()); } -void ThumbnailDownloader::downloadOnePair(QPair urlPair) +void ThumbnailDownloader::downloadOnePair(ThumbnailInfo thumbnailInfo) { - QNetworkRequest req(urlPair.second); + QNetworkRequest req(thumbnailInfo.second); auto reply = manager.get(req); connect(reply, &QNetworkReply::finished, this, [=](){ - fileDownloaded(reply, urlPair); + fileDownloaded(reply, thumbnailInfo); }); } -void ThumbnailDownloader::fileDownloaded(QNetworkReply *pReply, QPair urlPair) +void ThumbnailDownloader::fileDownloaded(QNetworkReply *pReply, ThumbnailInfo thumbnailInfo) { auto downloadedData = pReply->readAll(); - emit oneThumbnailDownloaded(urlPair.first, urlPair.second, downloadedData); + emit oneThumbnailDownloaded(thumbnailInfo.first, thumbnailInfo.second, downloadedData); pReply->deleteLater(); } diff --git a/src/thumbnaildownloader.h b/src/thumbnaildownloader.h index cce710c..12a81fa 100644 --- a/src/thumbnaildownloader.h +++ b/src/thumbnaildownloader.h @@ -12,25 +12,29 @@ class ThumbnailDownloader : public QObject { Q_OBJECT +public: + typedef QModelIndex ThumbnailId; + typedef QPair ThumbnailInfo; + public: ThumbnailDownloader(QObject *parent = 0); ~ThumbnailDownloader(); - void addDownload(QString url, QModelIndex index); + void addDownload(QString url, ThumbnailId index); void startDownload(); - void downloadOnePair(QPair urlPair); + void downloadOnePair(ThumbnailInfo thumbnailInfo); void clearQueue() { m_urlPairList.clear(); } signals: - void oneThumbnailDownloaded(QModelIndex, QString, QByteArray); + void oneThumbnailDownloaded(ThumbnailId, QString, QByteArray); private: - QQueue> m_urlPairList; + QQueue m_urlPairList; QNetworkAccessManager manager; bool m_isDownloading = false; private slots: - void fileDownloaded(QNetworkReply *pReply, QPair urlPair); + void fileDownloaded(QNetworkReply *pReply, ThumbnailInfo thumbnailInfo); };