summaryrefslogtreecommitdiffstats
path: root/qthelper.cpp
diff options
context:
space:
mode:
authorGravatar Grace Karanja <gracie.karanja89@gmail.com>2015-08-18 12:03:30 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-08-31 15:47:48 -0700
commit390c10bb088ddbe8a679de8ac3289eb7d10bf8a9 (patch)
tree059a3aca6fca8f2ed6eb187d2762089714971ebd /qthelper.cpp
parent46cfe003f3cd1e6033707d1ee1b245f31d574c6c (diff)
downloadsubsurface-390c10bb088ddbe8a679de8ac3289eb7d10bf8a9.tar.gz
QML UI: Remove unneeded MobileDive class
The MobileDive class in divelistmodel.h is a duplication of the Dive class in templatelayout.h. This patch moves the Dive to the qthelper file. [Dirk Hohndel: merged with upstream master - let's hope I didn't mess anything up] Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qthelper.cpp')
-rw-r--r--qthelper.cpp243
1 files changed, 243 insertions, 0 deletions
diff --git a/qthelper.cpp b/qthelper.cpp
index ebae97df7..51a817296 100644
--- a/qthelper.cpp
+++ b/qthelper.cpp
@@ -40,6 +40,249 @@ static QLocale loc;
#define translate(_context, arg) trGettext(arg)
static const QString DEGREE_SIGNS("dD" UTF8_DEGREE);
+Dive::Dive() :
+ m_number(-1),
+ dive(NULL)
+{
+}
+
+Dive::~Dive()
+{
+}
+
+int Dive::number() const
+{
+ return m_number;
+}
+
+int Dive::id() const
+{
+ return m_id;
+}
+
+QString Dive::date() const
+{
+ return m_date;
+}
+
+timestamp_t Dive::timestamp() const
+{
+ return m_timestamp;
+}
+
+QString Dive::time() const
+{
+ return m_time;
+}
+
+QString Dive::location() const
+{
+ return m_location;
+}
+
+QString Dive::duration() const
+{
+ return m_duration;
+}
+
+QString Dive::depth() const
+{
+ return m_depth;
+}
+
+QString Dive::divemaster() const
+{
+ return m_divemaster;
+}
+
+QString Dive::buddy() const
+{
+ return m_buddy;
+}
+
+QString Dive::airTemp() const
+{
+ return m_airTemp;
+}
+
+QString Dive::waterTemp() const
+{
+ return m_waterTemp;
+}
+
+QString Dive::notes() const
+{
+ return m_notes;
+}
+
+QString Dive::tags() const
+{
+ return m_tags;
+}
+
+QString Dive::gas() const
+{
+ return m_gas;
+}
+
+QString Dive::sac() const
+{
+ return m_sac;
+}
+
+QString Dive::weight() const
+{
+ return m_weight;
+}
+
+QString Dive::suit() const
+{
+ return m_suit;
+}
+
+QString Dive::cylinder() const
+{
+ return m_cylinder;
+}
+
+QString Dive::trip() const
+{
+ return m_trip;
+}
+
+int Dive::rating() const
+{
+ return m_rating;
+}
+
+void Dive::put_divemaster()
+{
+ if (!dive->divemaster)
+ m_divemaster = "--";
+ else
+ m_divemaster = dive->divemaster;
+}
+
+void Dive::put_date_time()
+{
+ QDateTime localTime = QDateTime::fromTime_t(dive->when - gettimezoneoffset(displayed_dive.when));
+ localTime.setTimeSpec(Qt::UTC);
+ m_date = localTime.date().toString(QString::fromUtf8("MMM dd, yyyy"));
+ m_time = localTime.time().toString(QString::fromUtf8("hh:mm a"));
+}
+
+void Dive::put_timestamp()
+{
+ m_timestamp = dive->when;
+}
+
+void Dive::put_location()
+{
+ m_location = QString::fromUtf8(get_dive_location(dive));
+ if (m_location.isEmpty()) {
+ m_location = "--";
+ }
+}
+
+void Dive::put_depth()
+{
+ m_depth = get_depth_string(dive->dc.maxdepth.mm, true, true);
+}
+
+void Dive::put_duration()
+{
+ m_duration = QString::number(((dive->duration.seconds) / 60)) + QString::fromUtf8(" min");
+}
+
+void Dive::put_buddy()
+{
+ if (!dive->buddy)
+ m_buddy = "--";
+ else
+ m_buddy = dive->buddy;
+}
+
+void Dive::put_temp()
+{
+ m_airTemp = get_temperature_string(dive->airtemp, true);
+ m_waterTemp = get_temperature_string(dive->watertemp, true);
+ if (m_airTemp.isEmpty()) {
+ m_airTemp = "--";
+ }
+ if (m_waterTemp.isEmpty()) {
+ m_waterTemp = "--";
+ }
+}
+
+void Dive::put_notes()
+{
+ m_notes = QString::fromUtf8(dive->notes);
+ if (m_notes.isEmpty()) {
+ m_notes = "--";
+ }
+}
+
+void Dive::put_tags()
+{
+ char buffer[256];
+ taglist_get_tagstring(dive->tag_list, buffer, 256);
+ m_tags = QString(buffer);
+}
+
+void Dive::put_gas()
+{
+ int added = 0;
+ QString gas, gases;
+ for (int i = 0; i < MAX_CYLINDERS; i++) {
+ if (!is_cylinder_used(dive, i))
+ continue;
+ gas = dive->cylinder[i].type.description;
+ gas += QString(!gas.isEmpty() ? " " : "") + gasname(&dive->cylinder[i].gasmix);
+ // if has a description and if such gas is not already present
+ if (!gas.isEmpty() && gases.indexOf(gas) == -1) {
+ if (added > 0)
+ gases += QString(" / ");
+ gases += gas;
+ added++;
+ }
+ }
+ m_gas = gases;
+}
+
+void Dive::put_sac()
+{
+ if (dive->sac) {
+ const char *unit;
+ int decimal;
+ double value = get_volume_units(dive->sac, &decimal, &unit);
+ m_sac = QString::number(value, 'f', decimal).append(unit);
+ }
+}
+
+void Dive::put_weight()
+{
+ weight_t tw = { total_weight(dive) };
+ m_weight = weight_string(tw.grams);
+}
+
+void Dive::put_suit()
+{
+ m_suit = QString(dive->suit);
+}
+
+void Dive::put_cylinder()
+{
+ m_cylinder = QString(dive->cylinder[0].type.description);
+}
+
+void Dive::put_trip()
+{
+ dive_trip *trip = dive->divetrip;
+ if (trip) {
+ m_trip = QString(trip->location);
+ }
+}
+
QString weight_string(int weight_in_grams)
{
QString str;