7 #include <QNetworkAccessManager>
8 #include <QNetworkReply>
12 #include <QStringList>
14 #include <QXmlStreamReader>
19 q( new RoutePrivate( this ) ),
20 manager( new QNetworkAccessManager(this) )
22 connect( manager, SIGNAL( finished(QNetworkReply*) ), this, SLOT( replyFinished(QNetworkReply*) ) );
31 void Route::getRoute()
33 qDebug() << "getting route from Ytv";
35 QUrl fullUrl( Ytv::Url );
38 a << q->fromLocation()->x() << q->fromLocation()->y();
40 b << q->toLocation()->x() << q->toLocation()->y();
42 fullUrl.addQueryItem( "a", a.join(",") );
43 fullUrl.addQueryItem( "b", b.join(",") );
44 fullUrl.addQueryItem( "show", QString::number(Ytv::FiveResults) );
45 fullUrl.addQueryItem( "walkspeed", QString::number(Ytv::Fast) );
46 fullUrl.addQueryItem( "user", Ytv::Username );
47 fullUrl.addQueryItem( "pass", Ytv::Password );
49 manager->get( QNetworkRequest( fullUrl ) );
50 qDebug() << "getting url" << fullUrl.toEncoded();
51 qDebug() << "waiting for reply from Ytv";
54 void Route::replyFinished( QNetworkReply * reply )
56 qDebug() << "have reply from Ytv";
57 QList<RouteData> routeData = q->parseReply( reply->readAll() );
59 emit( routeReady( routeData ) );
62 void Route::setFromLocation( Location *location )
64 qDebug() << "setting new From location";
66 if ( location && location->isValid() ) {
67 qDebug() << "From is valid";
68 q->setFromLocation( location );
70 qDebug() << "To is also valid";
73 qDebug() << "To not valid - waiting";
76 qDebug() << "From is not valid";
77 qDebug() << "getting From from signal sender";
78 location = qobject_cast<Location*>(sender());
80 q->setFromLocation( location );
82 qDebug() << "To is also valid";
85 qDebug() << "To not valid - waiting";
88 qDebug() << "location is zero - cast didn't work";
93 Location *Route::fromLocation() const
95 return q->fromLocation();
98 void Route::setToLocation( Location *location )
100 qDebug() << "setting new To location";
102 if ( location && location->isValid() ) {
103 qDebug() << "To is valid";
104 q->setToLocation( location );
105 if ( q->fromValid() ) {
106 qDebug() << "From is also valid";
109 qDebug() << "From not valid - waiting";
112 qDebug() << "To is not valid";
113 qDebug() << "getting To from signal sender";
114 Location *location = qobject_cast<Location*>(sender());
116 q->setToLocation( location );
117 if ( q->fromValid() ) {
118 qDebug() << "From is also valid";
121 qDebug() << "From not valid - waiting";
124 qDebug() << "location is zero; cast failed";
129 Location *Route::toLocation() const
131 return q->toLocation();