+ if ( !have[ "ARRIVAL" ] && ( in[ "WALK" ] || in[ "LINE" ] ) && ( in[ "STOP" ] || in[ "POINT" ] ) && xml.isStartElement() && xmlName == "ARRIVAL" ) {
+ QString arrivalTime( xml.attributes().value("time").toString() );
+ legData.m_arrivalTime = arrivalTime.rightJustified(4).insert(2,":");
+
+ // don't set have[ "ARRIVAL" ] since we want the last one of many STOPs
+ }
+
+ if ( !have[ "DEPARTURE" ] && in[ "LINE" ] && in[ "STOP" ] && xml.isStartElement() && xmlName == "DEPARTURE" ) {
+ QString departureTime( xml.attributes().value("time").toString() );
+ legData.m_departureTime = departureTime.rightJustified(4).insert(2,":");
+
+ have[ "DEPARTURE" ] = true;
+ }
+
+ if ( !have[ "DEPARTURE" ] && in[ "WALK" ] && ( in[ "POINT" ] || in[ "STOP" ] ) && xml.isStartElement() && xmlName == "DEPARTURE" ) {
+ QString departureTime( xml.attributes().value("time").toString() );
+ legData.m_departureTime = departureTime.rightJustified(4).insert(2,":");
+
+ have[ "DEPARTURE" ] = true;
+ }
+
+ if ( !have[ "LENGTH" ] && ( in[ "WALK" ] || in[ "LINE" ] ) && xml.isStartElement() && xmlName == "LENGTH" ) {
+ legData.m_tripTime = xml.attributes().value("time").toString();
+ legData.m_tripDistance = xml.attributes().value("dist").toString();
+
+ have[ "LENGTH" ] = true;
+ }
+
+ if ( !have[ "TRIP" ] && in[ "ROUTE" ] && xml.isStartElement() && xmlName == "LENGTH" ) {
+ routeData.m_tripTime = xml.attributes().value("time").toString();
+ routeData.m_tripDistance = xml.attributes().value("dist").toString();
+
+ have[ "TRIP" ] = true;
+ }
+
+ if ( !have[ "LINE" ] && in[ "ROUTE" ] && xml.isStartElement() && xmlName == "LINE" ) {