Do not use functions deprecated in Qt 6.8
[GPXSee.git] / src / data / itnparser.cpp
blob0f587d76d46956887d09b497b558bd0a23a0f3df
1 #include <QByteArray>
2 #include "common/textcodec.h"
3 #include "itnparser.h"
5 bool ITNParser::parse(QFile *file, QList<TrackData> &tracks,
6 QList<RouteData> &routes, QList<Area> &polygons, QVector<Waypoint> &waypoints)
8 Q_UNUSED(tracks);
9 Q_UNUSED(waypoints);
10 Q_UNUSED(polygons);
11 RouteData rd;
12 QByteArray ba;
13 TextCodec codec(1252);
14 int lat, lon;
15 bool ok1, ok2;
17 _errorLine = 1;
18 _errorString.clear();
20 while (!file->atEnd()) {
21 ba = file->readLine(4096);
23 QList<QByteArray> fields(ba.split('|'));
24 if (fields.size() < 4) {
25 _errorString = "File format error";
26 return false;
29 lon = fields.at(0).toInt(&ok1);
30 lat = fields.at(1).toInt(&ok2);
31 if (!ok1 || !ok2 || lon < -18000000 || lon > 18000000
32 || lat < -9000000 || lat > 9000000) {
33 _errorString = "Invalid coordinates";
34 return false;
36 Waypoint wp(Coordinates(lon/1e5, lat/1e5));
37 wp.setName(codec.toString(fields.at(2)));
38 rd.append(wp);
40 _errorLine++;
43 rd.setFile(file->fileName());
44 routes.append(rd);
46 return true;