Changeset 846 for trunk/demos/embedded/flightinfo/flightinfo.cpp
- Timestamp:
- May 5, 2011, 5:36:53 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/vendor/nokia/qt/4.7.2 (added) merged: 845 /branches/vendor/nokia/qt/current merged: 844 /branches/vendor/nokia/qt/4.6.3 removed
- Property svn:mergeinfo changed
-
trunk/demos/embedded/flightinfo/flightinfo.cpp
r651 r846 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 201 0Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) … … 44 44 #include <QtNetwork> 45 45 46 #if defined (Q_OS_SYMBIAN)47 #include "sym_iap_util.h"48 #endif49 50 46 #include "ui_form.h" 51 47 … … 101 97 QDate m_searchDate; 102 98 QPixmap m_map; 99 QNetworkAccessManager m_manager; 100 QList<QNetworkReply *> mapReplies; 103 101 104 102 public: … … 116 114 117 115 setWindowTitle("Flight Info"); 118 QTimer::singleShot(0, this, SLOT(delayedInit()));119 116 120 117 // Rendered from the public-domain vectorized aircraft … … 128 125 connect(searchYesterdayAction, SIGNAL(triggered()), SLOT(yesterday())); 129 126 connect(randomAction, SIGNAL(triggered()), SLOT(randomFlight())); 127 connect(&m_manager, SIGNAL(finished(QNetworkReply*)), 128 this, SLOT(handleNetworkData(QNetworkReply*))); 130 129 #if defined(Q_OS_SYMBIAN) 131 130 menuBar()->addAction(searchTodayAction); … … 141 140 142 141 private slots: 143 void delayedInit() {144 #if defined(Q_OS_SYMBIAN)145 qt_SetDefaultIap();146 #endif147 }148 149 142 150 143 void handleNetworkData(QNetworkReply *networkReply) { 151 144 if (!networkReply->error()) { 152 // Assume UTF-8 encoded 153 QByteArray data = networkReply->readAll(); 154 QString xml = QString::fromUtf8(data); 155 digest(xml); 145 if (!mapReplies.contains(networkReply)) { 146 // Assume UTF-8 encoded 147 QByteArray data = networkReply->readAll(); 148 QString xml = QString::fromUtf8(data); 149 digest(xml); 150 } else { 151 mapReplies.removeOne(networkReply); 152 m_map.loadFromData(networkReply->readAll()); 153 update(); 154 } 156 155 } 157 156 networkReply->deleteLater(); 158 networkReply->manager()->deleteLater();159 }160 161 void handleMapData(QNetworkReply *networkReply) {162 if (!networkReply->error()) {163 m_map.loadFromData(networkReply->readAll());164 update();165 }166 networkReply->deleteLater();167 networkReply->manager()->deleteLater();168 157 } 169 158 … … 186 175 ui.flightStatus->hide(); 187 176 ui.flightName->setText("Enter flight number"); 177 ui.flightEdit->setFocus(); 178 #ifdef QT_KEYPAD_NAVIGATION 179 ui.flightEdit->setEditFocus(true); 180 #endif 188 181 m_map = QPixmap(); 189 182 update(); … … 225 218 } 226 219 227 QNetworkAccessManager *manager = new QNetworkAccessManager(this); 228 connect(manager, SIGNAL(finished(QNetworkReply*)), 229 this, SLOT(handleNetworkData(QNetworkReply*))); 230 manager->get(QNetworkRequest(m_url)); 220 m_manager.get(QNetworkRequest(m_url)); 231 221 } 232 222 … … 249 239 QString airport = regex.cap(1); 250 240 m_url.addEncodedQueryItem("dpap", QUrl::toPercentEncoding(airport)); 251 QNetworkAccessManager *manager = new QNetworkAccessManager(this); 252 connect(manager, SIGNAL(finished(QNetworkReply*)), 253 this, SLOT(handleNetworkData(QNetworkReply*))); 254 manager->get(QNetworkRequest(m_url)); 241 m_manager.get(QNetworkRequest(m_url)); 255 242 return; 256 243 } … … 288 275 if (xml.name() == "img" && inFlightMap) { 289 276 QString src = xml.attributes().value("src").toString(); 290 src.prepend("http://mobile.flightview.com ");277 src.prepend("http://mobile.flightview.com/"); 291 278 QUrl url = QUrl::fromPercentEncoding(src.toAscii()); 292 QNetworkAccessManager *manager = new QNetworkAccessManager(this); 293 connect(manager, SIGNAL(finished(QNetworkReply*)), 294 this, SLOT(handleMapData(QNetworkReply*))); 295 manager->get(QNetworkRequest(url)); 279 mapReplies.append(m_manager.get(QNetworkRequest(url))); 296 280 } 297 281 }
Note:
See TracChangeset
for help on using the changeset viewer.