From a845e7230b409a5612ba600d115b3568194ba2ec Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Mon, 24 Jan 2011 14:33:43 +0100 Subject: Made a slot to listen to readyRead() from our QNetworkReply object, to see if the URL actually has data... --- fbbrowser/fbbrowser | Bin 524912 -> 529673 bytes fbbrowser/fbbrowser.cpp | 22 ++++++++++++++-------- fbbrowser/fbbrowser.h | 1 + 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/fbbrowser/fbbrowser b/fbbrowser/fbbrowser index a0710ed..4a622f9 100755 Binary files a/fbbrowser/fbbrowser and b/fbbrowser/fbbrowser differ diff --git a/fbbrowser/fbbrowser.cpp b/fbbrowser/fbbrowser.cpp index 3844f66..bef6aca 100644 --- a/fbbrowser/fbbrowser.cpp +++ b/fbbrowser/fbbrowser.cpp @@ -3,37 +3,43 @@ #include #include +void fbbrowser::httpReadyRead() +{ + // This slot listens to readyRead() signal from our QNetworkReply. + qDebug() << "readyRead() signal emmited!" << endl; +} fbbrowser::fbbrowser(const QUrl & url) { - - view = new QWebView(this); - // Check Internet connection // Create QNetworkAccessManager which is needed to send/receive requests. manager = new QNetworkAccessManager(this); // Create a QNetworkRequest object and set its URL. QNetworkRequest request; request.setUrl(url); + // Check Internet connection // Let the manager send the request and receive the reply. QNetworkReply *reply = manager->get(request); - //connect(reply, SIGNAL(error()), this, SLOT()); + connect(reply, SIGNAL(readyRead()), this, SLOT(httpReadyRead())); //connect(reply, SIGNAL(finished()), this, SLOT()); // Check if the reply is an error message. - qDebug() << reply->error(); + qDebug() << "QNetworkReply error code: " << reply->error(); - //TODO: error differentiation + // TODO: error differentiation + // reply->error() returns 0 even for invalid URL. + // A possibility to check for validity, is to listen to readyRead() + // signal, haven't found a better way yet ... if(reply->error() == QNetworkReply::NoError) { - qDebug() << "show Page"; + qDebug() << "No error, loading given URL..."; view->load(url); } else { - qDebug() << "show errorPage"; + qDebug() << "Error occured, loading error page..."; view->load(QUrl("qrc:/html/errorPage.html")); } diff --git a/fbbrowser/fbbrowser.h b/fbbrowser/fbbrowser.h index 5e5dd23..9e06512 100644 --- a/fbbrowser/fbbrowser.h +++ b/fbbrowser/fbbrowser.h @@ -27,6 +27,7 @@ private: //QApplication * app(int & argc, char ** argv); private slots: + void httpReadyRead(); void addJSObject(); signals: -- cgit v1.2.3-55-g7522