diff --git a/src/thumbnaildownloader.cpp b/src/thumbnaildownloader.cpp index 923b864..c7ac39e 100644 --- a/src/thumbnaildownloader.cpp +++ b/src/thumbnaildownloader.cpp @@ -6,12 +6,8 @@ ThumbnailDownloader::ThumbnailDownloader() { - connect(this, &ThumbnailDownloader::oneThumbnailDownloaded, [=]() { - if (m_downloadQueue.size() != 0) - downloadThumbnail(m_downloadQueue.takeFirst()); - else - m_isDownloading = false; - }); + connect(this, &ThumbnailDownloader::oneThumbnailDownloaded, + this, &ThumbnailDownloader::startNextDownload); } ThumbnailDownloader::~ThumbnailDownloader() @@ -22,10 +18,10 @@ void ThumbnailDownloader::addDownload(QString url, ThumbnailId index) { m_downloadQueue.append({index, url}); if (!m_isDownloading) - startDownload(); + startNextDownload(); } -void ThumbnailDownloader::startDownload() +void ThumbnailDownloader::startNextDownload() { if (m_downloadQueue.size() == 0) { m_isDownloading = false; diff --git a/src/thumbnaildownloader.h b/src/thumbnaildownloader.h index b4f07c2..be389b3 100644 --- a/src/thumbnaildownloader.h +++ b/src/thumbnaildownloader.h @@ -21,7 +21,7 @@ public: ~ThumbnailDownloader(); void addDownload(QString url, ThumbnailId index); - void startDownload(); + void startNextDownload(); void clearQueue() { m_downloadQueue.clear(); } private: