better icon downloading of feeds for greader plugin

This commit is contained in:
Martin Rotter 2021-04-15 13:37:21 +02:00
parent 68e2200e58
commit 70c3f9ed88
2 changed files with 14 additions and 11 deletions

View file

@ -30,7 +30,7 @@
<url type="donation">https://martinrotter.github.io/donate/</url> <url type="donation">https://martinrotter.github.io/donate/</url>
<content_rating type="oars-1.1" /> <content_rating type="oars-1.1" />
<releases> <releases>
<release version="3.9.0" date="2021-04-14"/> <release version="3.9.0" date="2021-04-15"/>
</releases> </releases>
<content_rating type="oars-1.0"> <content_rating type="oars-1.0">
<content_attribute id="violence-cartoon">none</content_attribute> <content_attribute id="violence-cartoon">none</content_attribute>

View file

@ -300,23 +300,26 @@ RootItem* GreaderNetwork::decodeTagsSubscriptions(const QString& categories, con
feed->setCustomId(id); feed->setCustomId(id);
if (obtain_icons) { if (obtain_icons) {
QString icon_url = subscription.contains(QSL("iconUrl")) QString icon_url = subscription["iconUrl"].toString();
? subscription["iconUrl"].toString() QList<QPair<QString, bool>> icon_urls;
: subscription["htmlUrl"].toString();
icon_urls.append({ url, false });
if (!icon_url.isEmpty()) { if (!icon_url.isEmpty()) {
if (icon_url.startsWith(QSL("//"))) { if (icon_url.startsWith(QSL("//"))) {
icon_url = QUrl(baseUrl()).scheme() + QSL(":") + icon_url; icon_url = QUrl(baseUrl()).scheme() + QSL(":") + icon_url;
} }
QIcon icon; icon_urls.append({ icon_url, true });
}
if (NetworkFactory::downloadIcon({ { icon_url, true } }, QIcon icon;
timeout,
icon, if (NetworkFactory::downloadIcon(icon_urls,
proxy) == QNetworkReply::NetworkError::NoError) { timeout,
feed->setIcon(icon); icon,
} proxy) == QNetworkReply::NetworkError::NoError) {
feed->setIcon(icon);
} }
} }