From 02a1fc9a07dd354b6ade09f21176a52265ccecc0 Mon Sep 17 00:00:00 2001 From: Jim Broadus Date: Sat, 23 May 2020 22:33:59 -0700 Subject: [PATCH] lyrics: Use lambda for UltimateLyricsProvider requests Remove map of requests to ids and pass info directly to reply handler. --- src/songinfo/ultimatelyricsprovider.cpp | 21 +++++++-------------- src/songinfo/ultimatelyricsprovider.h | 3 +-- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/songinfo/ultimatelyricsprovider.cpp b/src/songinfo/ultimatelyricsprovider.cpp index 443f372df..9e8077a2b 100644 --- a/src/songinfo/ultimatelyricsprovider.cpp +++ b/src/songinfo/ultimatelyricsprovider.cpp @@ -55,18 +55,11 @@ void UltimateLyricsProvider::FetchInfo(int id, const Song& metadata) { metadata_ = metadata; redirect_count_ = 0; QNetworkReply* reply = network_->get(QNetworkRequest(url)); - requests_[reply] = id; - connect(reply, SIGNAL(finished()), SLOT(LyricsFetched())); + connect(reply, &QNetworkReply::finished, + [=] { this->RequestFinished(reply, id); }); } -void UltimateLyricsProvider::LyricsFetched() { - QNetworkReply* reply = qobject_cast(sender()); - if (!reply) { - url_hop_ = false; - return; - } - - int id = requests_.take(reply); +void UltimateLyricsProvider::RequestFinished(QNetworkReply* reply, int id) { reply->deleteLater(); if (reply->error() != QNetworkReply::NoError) { @@ -94,8 +87,8 @@ void UltimateLyricsProvider::LyricsFetched() { redirect_count_++; QNetworkReply* reply = network_->get(QNetworkRequest(target)); - requests_[reply] = id; - connect(reply, SIGNAL(finished()), SLOT(LyricsFetched())); + connect(reply, &QNetworkReply::finished, + [=] { this->RequestFinished(reply, id); }); return; } @@ -129,8 +122,8 @@ void UltimateLyricsProvider::LyricsFetched() { QUrl url(content); qLog(Debug) << "Next url hop: " << url; QNetworkReply* reply = network_->get(QNetworkRequest(url)); - requests_[reply] = id; - connect(reply, SIGNAL(finished()), SLOT(LyricsFetched())); + connect(reply, &QNetworkReply::finished, + [=] { this->RequestFinished(reply, id); }); return; } diff --git a/src/songinfo/ultimatelyricsprovider.h b/src/songinfo/ultimatelyricsprovider.h index 96f2ef4db..5ba7da8fb 100644 --- a/src/songinfo/ultimatelyricsprovider.h +++ b/src/songinfo/ultimatelyricsprovider.h @@ -62,7 +62,7 @@ class UltimateLyricsProvider : public SongInfoProvider { void FetchInfo(int id, const Song& metadata); private slots: - void LyricsFetched(); + void RequestFinished(QNetworkReply* reply, int id); private: bool ApplyExtractRule(const Rule& rule, QString* content) const; @@ -86,7 +86,6 @@ class UltimateLyricsProvider : public SongInfoProvider { private: NetworkAccessManager* network_; - QMap requests_; QString name_; QString title_;