make custom proxy work for icon downloading too
This commit is contained in:
parent
8e95f8a5ec
commit
dcf5f47661
@ -139,16 +139,24 @@ QString NetworkFactory::networkErrorText(QNetworkReply::NetworkError error_code)
|
||||
}
|
||||
}
|
||||
|
||||
QNetworkReply::NetworkError NetworkFactory::downloadIcon(const QList<QString>& urls, int timeout, QIcon& output) {
|
||||
QNetworkReply::NetworkError NetworkFactory::downloadIcon(const QList<QString>& urls, int timeout, QIcon& output, const QNetworkProxy& custom_proxy) {
|
||||
QNetworkReply::NetworkError network_result = QNetworkReply::UnknownNetworkError;
|
||||
|
||||
for (const QString& url : urls) {
|
||||
QByteArray icon_data;
|
||||
|
||||
network_result = performNetworkOperation(url, timeout, QByteArray(), icon_data,
|
||||
QNetworkAccessManager::GetOperation).first;
|
||||
network_result = performNetworkOperation(url,
|
||||
timeout,
|
||||
QByteArray(),
|
||||
icon_data,
|
||||
QNetworkAccessManager::GetOperation,
|
||||
{},
|
||||
false,
|
||||
{},
|
||||
{},
|
||||
custom_proxy).first;
|
||||
|
||||
if (network_result == QNetworkReply::NoError) {
|
||||
if (network_result == QNetworkReply::NetworkError::NoError) {
|
||||
QPixmap icon_pixmap;
|
||||
|
||||
icon_pixmap.loadFromData(icon_data);
|
||||
@ -167,8 +175,16 @@ QNetworkReply::NetworkError NetworkFactory::downloadIcon(const QList<QString>& u
|
||||
|
||||
const QString google_s2_with_url = QString("http://www.google.com/s2/favicons?domain=%1").arg(host);
|
||||
|
||||
network_result = performNetworkOperation(google_s2_with_url, timeout, QByteArray(), icon_data,
|
||||
QNetworkAccessManager::GetOperation).first;
|
||||
network_result = performNetworkOperation(google_s2_with_url,
|
||||
timeout,
|
||||
QByteArray(),
|
||||
icon_data,
|
||||
QNetworkAccessManager::GetOperation,
|
||||
{},
|
||||
false,
|
||||
{},
|
||||
{},
|
||||
custom_proxy).first;
|
||||
|
||||
if (network_result == QNetworkReply::NoError) {
|
||||
QPixmap icon_pixmap;
|
||||
|
@ -33,7 +33,10 @@ class NetworkFactory {
|
||||
|
||||
// Performs SYNCHRONOUS download if favicon for the site,
|
||||
// given URL belongs to.
|
||||
static QNetworkReply::NetworkError downloadIcon(const QList<QString>& urls, int timeout, QIcon& output);
|
||||
static QNetworkReply::NetworkError downloadIcon(const QList<QString>& urls,
|
||||
int timeout,
|
||||
QIcon& output,
|
||||
const QNetworkProxy& custom_proxy = QNetworkProxy::ProxyType::DefaultProxy);
|
||||
static Downloader* performAsyncNetworkOperation(const QString& url,
|
||||
int timeout,
|
||||
const QByteArray& input_data,
|
||||
|
@ -320,7 +320,8 @@ QPair<StandardFeed*, QNetworkReply::NetworkError> StandardFeed::guessFeed(const
|
||||
|
||||
if ((result.second = NetworkFactory::downloadIcon(icon_possible_locations,
|
||||
DOWNLOAD_TIMEOUT,
|
||||
icon_data)) == QNetworkReply::NoError) {
|
||||
icon_data,
|
||||
custom_proxy)) == QNetworkReply::NoError) {
|
||||
// Icon for feed was downloaded and is stored now in _icon_data.
|
||||
result.first->setIcon(icon_data);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user