mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-19 14:25:27 +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
Reference in a new issue