mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-11 03:21:29 +00:00
36b9e5e31e
helpers.h included qthelper.h and all functions declared in helpers.h were defined in qthelper.h. Therefore fold the former into the latter, since the split seems completely arbitrary. While doing so, change the return-type of get_dc_nichname from "const QString" to "QString". Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
70 lines
1.6 KiB
C++
70 lines
1.6 KiB
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#include "qt-models/gpslistmodel.h"
|
|
#include "core/qthelper.h"
|
|
#include <QVector>
|
|
|
|
GpsListModel *GpsListModel::m_instance = NULL;
|
|
|
|
GpsListModel::GpsListModel(QObject *parent) : QAbstractListModel(parent)
|
|
{
|
|
m_instance = this;
|
|
}
|
|
|
|
void GpsListModel::update()
|
|
{
|
|
QVector<gpsTracker> trackers = QVector<gpsTracker>::fromList(GpsLocation::instance()->currentGPSInfo().values());
|
|
beginResetModel();
|
|
m_gpsFixes = trackers;
|
|
endResetModel();
|
|
}
|
|
|
|
void GpsListModel::clear()
|
|
{
|
|
if (m_gpsFixes.count()) {
|
|
beginRemoveRows(QModelIndex(), 0, m_gpsFixes.count() - 1);
|
|
m_gpsFixes.clear();
|
|
endRemoveRows();
|
|
}
|
|
}
|
|
|
|
int GpsListModel::rowCount(const QModelIndex&) const
|
|
{
|
|
return m_gpsFixes.count();
|
|
}
|
|
|
|
QVariant GpsListModel::data(const QModelIndex &index, int role) const
|
|
{
|
|
if (index.row() < 0 || index.row() > m_gpsFixes.count())
|
|
return QVariant();
|
|
|
|
const gpsTracker > = m_gpsFixes[index.row()];
|
|
|
|
if (role == GpsDateRole)
|
|
return get_short_dive_date_string(gt.when);
|
|
else if (role == GpsWhenRole)
|
|
return gt.when;
|
|
else if (role == GpsNameRole)
|
|
return gt.name;
|
|
else if (role == GpsLatitudeRole)
|
|
return QString::number(gt.latitude.udeg / 1000000.0, 'f', 6);
|
|
else if (role == GpsLongitudeRole)
|
|
return QString::number(gt.longitude.udeg / 1000000.0, 'f', 6);
|
|
return QVariant();
|
|
}
|
|
|
|
QHash<int, QByteArray> GpsListModel::roleNames() const
|
|
{
|
|
QHash<int, QByteArray> roles;
|
|
roles[GpsDateRole] = "date";
|
|
roles[GpsWhenRole] = "when";
|
|
roles[GpsNameRole] = "name";
|
|
roles[GpsLatitudeRole] = "latitude";
|
|
roles[GpsLongitudeRole] = "longitude";
|
|
return roles;
|
|
}
|
|
|
|
GpsListModel *GpsListModel::instance()
|
|
{
|
|
return m_instance;
|
|
}
|
|
|