From 429f6e2fa413fd6d8d788ab3a165bf332469d8d3 Mon Sep 17 00:00:00 2001 From: Luciano Montanaro Date: Fri, 13 Jan 2012 02:18:21 +0100 Subject: [PATCH] Parse the "code" element in the qpl file --- application/resources/stations/stations.qpl | 1 + application/stationlistmodel.cpp | 13 +++++++++++++ application/stationlistmodel.h | 3 ++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/application/resources/stations/stations.qpl b/application/resources/stations/stations.qpl index d39ca8d..9b4701b 100644 --- a/application/resources/stations/stations.qpl +++ b/application/resources/stations/stations.qpl @@ -378,6 +378,7 @@ 45.0609728,7.6778693 Torino Porta Nuova + S00219Torino P.Nuova 44.3513022,9.2313884 diff --git a/application/stationlistmodel.cpp b/application/stationlistmodel.cpp index 40fb75f..5838c4a 100644 --- a/application/stationlistmodel.cpp +++ b/application/stationlistmodel.cpp @@ -109,6 +109,8 @@ void StationListModel::readStationElement() readPosElement(item); } else if (m_reader.name() == "name") { readNameElement(item); + } else if (m_reader.name() == "code") { + readCodeElement(item); } else { skipUnknownElement(); } @@ -137,6 +139,17 @@ void StationListModel::readNameElement(QStandardItem *item) } } +void StationListModel::readCodeElement(QStandardItem *item) +{ + const QString code = m_reader.readElementText(); + qDebug() << "reading code element" << code; + + item->setData(QVariant::fromValue(code), StationCodeRole); + if (m_reader.isEndElement()) { + m_reader.readNext(); + } +} + void StationListModel::skipUnknownElement() { qDebug() << "skipping unknown element"; diff --git a/application/stationlistmodel.h b/application/stationlistmodel.h index 5d3d5e8..b497fb5 100644 --- a/application/stationlistmodel.h +++ b/application/stationlistmodel.h @@ -35,7 +35,7 @@ class StationListModel : public QStandardItemModel public: enum StationListRole { PositionRole = Qt::UserRole + 1, //< QGeoCoordinate - Station coordinate - StationIdRole, //< QString - Station Id (Precise name if the Display name is known to fail) + StationCodeRole, //< QString - Station Code (Precise name if the Display name is known to fail) RecentIndicatorRole //