QQmlXmlHttpRequest - use readyread signal not downloadProgress
authorShane Kearns <ext-shane.2.kearns@nokia.com>
Fri, 1 Jun 2012 13:36:48 +0000 (14:36 +0100)
committerQt by Nokia <qt-info@nokia.com>
Wed, 6 Jun 2012 13:31:43 +0000 (15:31 +0200)
The readyRead signal (part of QIODevice base class) is the
appropriate signal for knowing when there is data available
in a QNetworkReply.
DownloadProgress is intended for UI elements e.g. progress bars.
Previously it was emitted at the same time, but now it is emitted
less often.

Task-number: QTBUG-20449
Change-Id: I60abb8f807bde314785c301dac74d27238be1a23
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>

src/qml/qml/qqmlxmlhttprequest.cpp

index 21d9c0e..9d4c64b 100644 (file)
@@ -982,7 +982,7 @@ public:
     const QByteArray & rawResponseBody() const;
     bool receivedXml() const;
 private slots:
-    void downloadProgress(qint64);
+    void readyRead();
     void error(QNetworkReply::NetworkError);
     void finished();
 
@@ -1181,8 +1181,8 @@ void QQmlXMLHttpRequest::requestFromUrl(const QUrl &url)
     else if (m_method == QLatin1String("DELETE"))
         m_network = networkAccessManager()->deleteResource(request);
 
-    QObject::connect(m_network, SIGNAL(downloadProgress(qint64,qint64)), 
-                     this, SLOT(downloadProgress(qint64)));
+    QObject::connect(m_network, SIGNAL(readyRead()),
+                     this, SLOT(readyRead()));
     QObject::connect(m_network, SIGNAL(error(QNetworkReply::NetworkError)),
                      this, SLOT(error(QNetworkReply::NetworkError)));
     QObject::connect(m_network, SIGNAL(finished()),
@@ -1237,11 +1237,10 @@ void QQmlXMLHttpRequest::setMe(v8::Handle<v8::Object> me)
         m_me = qPersistentNew<v8::Object>(me);
 }
 
-void QQmlXMLHttpRequest::downloadProgress(qint64 bytes)
+void QQmlXMLHttpRequest::readyRead()
 {
     v8::HandleScope handle_scope;
 
-    Q_UNUSED(bytes)
     m_status = 
         m_network->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
     m_statusText =