mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Having subsurface-core as a directory name really messes with autocomplete and is obviously redundant. Simmilarly, qt-mobile caused an autocomplete conflict and also was inconsistent with the desktop-widget name for the directory containing the "other" UI. And while cleaning up the resulting change in the path name for include files, I decided to clean up those even more to make them consistent overall. This could have been handled in more commits, but since this requires a make clean before the build, it seemed more sensible to do it all in one. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
		
			
				
	
	
		
			77 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include "qt-models/gpslistmodel.h"
 | |
| #include "core/helpers.h"
 | |
| #include <QVector>
 | |
| 
 | |
| GpsListModel *GpsListModel::m_instance = NULL;
 | |
| 
 | |
| GpsListModel::GpsListModel(QObject *parent) : QAbstractListModel(parent)
 | |
| {
 | |
| 	m_instance = this;
 | |
| }
 | |
| 
 | |
| void GpsListModel::addGpsFix(gpsTracker g)
 | |
| {
 | |
| 	beginInsertColumns(QModelIndex(), rowCount(), rowCount());
 | |
| 	m_gpsFixes.append(g);
 | |
| 	endInsertRows();
 | |
| }
 | |
| 
 | |
| 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 &parent) const
 | |
| {
 | |
| 	Q_UNUSED(parent);
 | |
| 	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;
 | |
| }
 | |
| 
 |