1 #include "stationlistproxymodel.h"
2 #include "stationlistmodel.h"
5 #include <QGeoCoordinate>
9 Q_DECLARE_METATYPE(QGeoCoordinate)
11 StationListProxyModel::StationListProxyModel(QObject *parent) :
12 QSortFilterProxyModel(parent),
17 bool StationListProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const
19 int role = sortRole();
21 if (role == StationListModel::PositionRole) {
22 QGeoCoordinate first = left.data(role).value<QGeoCoordinate>();
23 QGeoCoordinate second = right.data(role).value<QGeoCoordinate>();
24 return first.distanceTo(m_here) < second.distanceTo(m_here);
26 return QString::compare(left.data(role).toString(),
27 right.data(role).toString(),
28 sortCaseSensitivity()) < 0;
32 void StationListProxyModel::setUserPosition(const QtMobility::QGeoCoordinate &pos)