From 70c3f9ed88f57b475a80617c944be9acfcc57f90 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Thu, 15 Apr 2021 13:37:21 +0200 Subject: [PATCH] better icon downloading of feeds for greader plugin --- .../desktop/com.github.rssguard.appdata.xml | 2 +- .../services/greader/greadernetwork.cpp | 23 +++++++++++-------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/resources/desktop/com.github.rssguard.appdata.xml b/resources/desktop/com.github.rssguard.appdata.xml index f9a7fc1bb..3f98abe85 100644 --- a/resources/desktop/com.github.rssguard.appdata.xml +++ b/resources/desktop/com.github.rssguard.appdata.xml @@ -30,7 +30,7 @@ https://martinrotter.github.io/donate/ - + none diff --git a/src/librssguard/services/greader/greadernetwork.cpp b/src/librssguard/services/greader/greadernetwork.cpp index 31ca89567..db966d998 100755 --- a/src/librssguard/services/greader/greadernetwork.cpp +++ b/src/librssguard/services/greader/greadernetwork.cpp @@ -300,23 +300,26 @@ RootItem* GreaderNetwork::decodeTagsSubscriptions(const QString& categories, con feed->setCustomId(id); if (obtain_icons) { - QString icon_url = subscription.contains(QSL("iconUrl")) - ? subscription["iconUrl"].toString() - : subscription["htmlUrl"].toString(); + QString icon_url = subscription["iconUrl"].toString(); + QList> icon_urls; + + icon_urls.append({ url, false }); if (!icon_url.isEmpty()) { if (icon_url.startsWith(QSL("//"))) { icon_url = QUrl(baseUrl()).scheme() + QSL(":") + icon_url; } - QIcon icon; + icon_urls.append({ icon_url, true }); + } - if (NetworkFactory::downloadIcon({ { icon_url, true } }, - timeout, - icon, - proxy) == QNetworkReply::NetworkError::NoError) { - feed->setIcon(icon); - } + QIcon icon; + + if (NetworkFactory::downloadIcon(icon_urls, + timeout, + icon, + proxy) == QNetworkReply::NetworkError::NoError) { + feed->setIcon(icon); } }