3 bool CSVParser::loadFile(QFile
*file
)
10 while (!file
->atEnd()) {
11 QByteArray line
= file
->readLine();
12 QList
<QByteArray
> list
= line
.split(',');
13 if (list
.size() < 3) {
14 _errorString
= "Parse error";
18 qreal lat
= list
[0].trimmed().toDouble(&res
);
19 if (!res
|| (lat
< -90.0 || lat
> 90.0)) {
20 _errorString
= "Invalid latitude";
23 qreal lon
= list
[1].trimmed().toDouble(&res
);
24 if (!res
|| (lon
< -180.0 || lon
> 180.0)) {
25 _errorString
= "Invalid longitude";
28 Waypoint
wp(Coordinates(lon
, lat
));
30 QByteArray ba
= list
[2].trimmed();
31 QString name
= QString::fromUtf8(ba
.data(), ba
.size());
34 if (list
.size() > 3) {
35 ba
= list
[3].trimmed();
36 wp
.setDescription(QString::fromUtf8(ba
.data(), ba
.size()));
39 _waypoints
.append(wp
);