void QtWebKitNetworkManager::downloadProgress(qint64 bytesReceived, qint64 bytesTotal) { QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender()); if (reply && reply == m_baseReply) { if (m_baseReply->hasRawHeader(QStringLiteral("Location").toLatin1())) { m_baseReply = NULL; } else { if (bytesTotal > 0) { emit documentLoadProgressChanged(((bytesReceived * 1.0) / bytesTotal) * 100); } else { emit documentLoadProgressChanged(-1); } } } if (!reply || !m_replies.contains(reply)) { return; } emit messageChanged(tr("Receiving data from %1…").arg(reply->url().host().isEmpty() ? QLatin1String("localhost") : reply->url().host())); const qint64 difference = (bytesReceived - m_replies[reply].first); m_replies[reply].first = bytesReceived; if (!m_replies[reply].second && bytesTotal > 0) { m_replies[reply].second = true; m_bytesTotal += bytesTotal; } if (difference <= 0) { return; } m_bytesReceived += difference; m_bytesReceivedDifference += difference; }
void NetworkManager::downloadProgress(qint64 bytesReceived, qint64 bytesTotal) { QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender()); if (reply && reply == m_mainReply) { if (m_mainReply->hasRawHeader(QStringLiteral("Location").toLatin1())) { m_mainReply = NULL; } else { if (bytesTotal > 0) { emit documentLoadProgressChanged(((bytesReceived * 1.0) / bytesTotal) * 100); } else { emit documentLoadProgressChanged(-1); } } } if (!reply || !m_replies.contains(reply)) { return; } const qint64 difference = (bytesReceived - m_replies[reply].first); m_replies[reply].first = bytesReceived; if (!m_replies[reply].second && bytesTotal > 0) { m_replies[reply].second = true; m_bytesTotal += bytesTotal; } if (difference <= 0) { return; } m_bytesReceived += difference; m_bytesReceivedDifference += difference; }