mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Dive list model: add GPS string access
If the QML UI needs the GPS information, we need a way to get to it. I'm not convinced that having it as comma separated string is the best way to go, but that's what I need for the Google API so that's what I picked for now. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
		
							parent
							
								
									07a0ef2139
								
							
						
					
					
						commit
						7ffe7a8c8a
					
				
					 4 changed files with 21 additions and 0 deletions
				
			
		|  | @ -77,6 +77,8 @@ QVariant DiveListModel::data(const QModelIndex &index, int role) const | |||
| 		return dive.sac(); | ||||
| 	else if (role == DiveLocationRole) | ||||
| 		return dive.location(); | ||||
| 	else if (role == DiveGPSRole) | ||||
| 		return dive.gps(); | ||||
| 	else if (role == DiveNotesRole) | ||||
| 		return dive.notes(); | ||||
| 	else if (role == DiveBuddyRole) | ||||
|  | @ -107,6 +109,7 @@ QHash<int, QByteArray> DiveListModel::roleNames() const | |||
| 	roles[DiveGasRole] = "gas"; | ||||
| 	roles[DiveSacRole] = "sac"; | ||||
| 	roles[DiveLocationRole] = "location"; | ||||
| 	roles[DiveGPSRole] = "gps"; | ||||
| 	roles[DiveNotesRole] = "notes"; | ||||
| 	roles[DiveBuddyRole] = "buddy"; | ||||
| 	roles[DiveMasterRole] = "divemaster"; | ||||
|  |  | |||
|  | @ -26,6 +26,7 @@ public: | |||
| 		DiveGasRole, | ||||
| 		DiveSacRole, | ||||
| 		DiveLocationRole, | ||||
| 		DiveGPSRole, | ||||
| 		DiveNotesRole, | ||||
| 		DiveBuddyRole, | ||||
| 		DiveMasterRole, | ||||
|  |  | |||
|  | @ -80,6 +80,10 @@ QString Dive::location() const | |||
| 	return m_location; | ||||
| } | ||||
| 
 | ||||
| QString Dive::gps() const | ||||
| { | ||||
| 	return m_gps; | ||||
| } | ||||
| QString Dive::duration() const | ||||
| { | ||||
| 	return m_duration; | ||||
|  | @ -222,6 +226,15 @@ void Dive::put_location() | |||
| 	} | ||||
| } | ||||
| 
 | ||||
| void Dive::put_gps() | ||||
| { | ||||
| 	struct dive_site *ds = get_dive_site_by_uuid(dive->dive_site_uuid); | ||||
| 	if (ds) | ||||
| 		m_gps = QString("%1,%2").arg(ds->latitude.udeg / 1000000.0).arg(ds->longitude.udeg / 1000000.0); | ||||
| 	else | ||||
| 		m_gps = QString(); | ||||
| } | ||||
| 
 | ||||
| void Dive::put_depth() | ||||
| { | ||||
| 	m_depth = get_depth_string(dive->dc.maxdepth.mm, true, true); | ||||
|  |  | |||
|  | @ -18,6 +18,7 @@ private: | |||
| 	timestamp_t m_timestamp; | ||||
| 	QString m_time; | ||||
| 	QString m_location; | ||||
| 	QString m_gps; | ||||
| 	QString m_duration; | ||||
| 	QString m_depth; | ||||
| 	QString m_divemaster; | ||||
|  | @ -38,6 +39,7 @@ private: | |||
| 	void put_date_time(); | ||||
| 	void put_timestamp(); | ||||
| 	void put_location(); | ||||
| 	void put_gps(); | ||||
| 	void put_duration(); | ||||
| 	void put_depth(); | ||||
| 	void put_divemaster(); | ||||
|  | @ -63,6 +65,7 @@ public: | |||
| 		m_rating = dive->rating; | ||||
| 		put_date_time(); | ||||
| 		put_location(); | ||||
| 		put_gps(); | ||||
| 		put_duration(); | ||||
| 		put_depth(); | ||||
| 		put_divemaster(); | ||||
|  | @ -89,6 +92,7 @@ public: | |||
| 	timestamp_t timestamp() const; | ||||
| 	QString time() const; | ||||
| 	QString location() const; | ||||
| 	QString gps() const; | ||||
| 	QString duration() const; | ||||
| 	QString depth() const; | ||||
| 	QString divemaster() const; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue