void Route::getRoute()
{
+ qDebug() << "getting route from Ytv";
+
QUrl fullUrl( Ytv::Url );
QStringList a;
- a << q->fromLocation().x() << q->fromLocation().y();
+ a << q->fromLocation()->x() << q->fromLocation()->y();
QStringList b;
- b << q->toLocation().x() << q->toLocation().y();
+ b << q->toLocation()->x() << q->toLocation()->y();
fullUrl.addQueryItem( "a", a.join(",") );
fullUrl.addQueryItem( "b", b.join(",") );
fullUrl.addQueryItem( "pass", Ytv::Password );
manager->get( QNetworkRequest( fullUrl ) );
+ qDebug() << "getting url" << fullUrl.toEncoded();
+ qDebug() << "waiting for reply from Ytv";
}
void Route::replyFinished( QNetworkReply * reply )
{
+ qDebug() << "have reply from Ytv";
QList<RouteData> routeData = q->parseReply( reply->readAll() );
emit( routeReady( routeData ) );
}
-void Route::setFromLocation( const Location &location )
+void Route::setFromLocation( Location *location )
{
- if ( location.isValid() ) {
+ qDebug() << "setting new From location";
+
+ if ( location && location->isValid() ) {
+ qDebug() << "From is valid";
q->setFromLocation( location );
if ( q->toValid() ) {
- getRoute();
+ qDebug() << "To is also valid";
+ getRoute();
+ } else {
+ qDebug() << "To not valid - waiting";
}
} else {
- Location *locationPtr = qobject_cast<Location*>(sender());
- if ( locationPtr ) {
- q->setFromLocation( *locationPtr );
+ qDebug() << "From is not valid";
+ qDebug() << "getting From from signal sender";
+ location = qobject_cast<Location*>(sender());
+ if ( location ) {
+ q->setFromLocation( location );
if ( q->toValid() ) {
+ qDebug() << "To is also valid";
getRoute();
+ } else {
+ qDebug() << "To not valid - waiting";
}
} else {
- qDebug() << "locationPtr is zero - cast didn't work";
+ qDebug() << "location is zero - cast didn't work";
}
}
}
-const Location &Route::fromLocation()
+Location *Route::fromLocation() const
{
return q->fromLocation();
}
-void Route::setToLocation( const Location &location )
+void Route::setToLocation( Location *location )
{
- if ( location.isValid() ) {
+ qDebug() << "setting new To location";
+
+ if ( location && location->isValid() ) {
+ qDebug() << "To is valid";
q->setToLocation( location );
if ( q->fromValid() ) {
+ qDebug() << "From is also valid";
getRoute();
+ } else {
+ qDebug() << "From not valid - waiting";
}
} else {
- Location *locationPtr = qobject_cast<Location*>(sender());
- if ( locationPtr ) {
- q->setToLocation( *locationPtr );
+ qDebug() << "To is not valid";
+ qDebug() << "getting To from signal sender";
+ Location *location = qobject_cast<Location*>(sender());
+ if ( location ) {
+ q->setToLocation( location );
if ( q->fromValid() ) {
+ qDebug() << "From is also valid";
getRoute();
+ } else {
+ qDebug() << "From not valid - waiting";
}
} else {
- qDebug() << "locationPtr is zero; cast failed";
+ qDebug() << "location is zero; cast failed";
}
}
}
-const Location &Route::toLocation()
+Location *Route::toLocation() const
{
return q->toLocation();
}
-
-void Route::toggleDirection()
-{
- Location oldFromLocation = fromLocation();
- setFromLocation( toLocation() );
- setToLocation( oldFromLocation );
-
- getRoute();
-}