summaryrefslogtreecommitdiffstats
path: root/desktop-widgets
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-08-07 21:53:50 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-08-08 09:03:33 -0700
commit344c85f4993176148e4fff718278d9692bcf39b7 (patch)
treee86b7d8a780c494508639e4e2ef583e3cc71e143 /desktop-widgets
parent826387a4b0f177c5b645c2483ca4fb11c76e01dc (diff)
downloadsubsurface-344c85f4993176148e4fff718278d9692bcf39b7.tar.gz
Desktop: display trip time on main-tab
On the main tab, the trip time was not shown when switching to a trip. Implement showing of the trip date in a function, as the undo-code will also have to update the trip date in certain circumstances. Fixes #2207 Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'desktop-widgets')
-rw-r--r--desktop-widgets/tab-widgets/maintab.cpp16
-rw-r--r--desktop-widgets/tab-widgets/maintab.h3
2 files changed, 16 insertions, 3 deletions
diff --git a/desktop-widgets/tab-widgets/maintab.cpp b/desktop-widgets/tab-widgets/maintab.cpp
index a6a3f541f..5d06bca4b 100644
--- a/desktop-widgets/tab-widgets/maintab.cpp
+++ b/desktop-widgets/tab-widgets/maintab.cpp
@@ -392,16 +392,27 @@ void MainTab::updateMode(struct dive *d)
MainWindow::instance()->graphics->recalcCeiling();
}
-void MainTab::updateDateTime(struct dive *d)
+static QDateTime timestampToDateTime(timestamp_t when)
{
// Subsurface always uses "local time" as in "whatever was the local time at the location"
// so all time stamps have no time zone information and are in UTC
- QDateTime localTime = QDateTime::fromMSecsSinceEpoch(1000*d->when, Qt::UTC);
+ QDateTime localTime = QDateTime::fromMSecsSinceEpoch(1000 * when, Qt::UTC);
localTime.setTimeSpec(Qt::UTC);
+ return localTime;
+}
+void MainTab::updateDateTime(const struct dive *d)
+{
+ QDateTime localTime = timestampToDateTime(d->when);
ui.dateEdit->setDate(localTime.date());
ui.timeEdit->setTime(localTime.time());
}
+void MainTab::updateTripDate(const struct dive_trip *t)
+{
+ QDateTime localTime = timestampToDateTime(trip_date(t));
+ ui.dateEdit->setDate(localTime.date());
+}
+
void MainTab::updateDiveSite(struct dive *d)
{
struct dive_site *ds = d->dive_site;
@@ -487,6 +498,7 @@ void MainTab::updateDiveInfo()
// rename the remaining fields and fill data from selected trip
ui.LocationLabel->setText(tr("Trip location"));
ui.diveTripLocation->setText(currentTrip->location);
+ updateTripDate(currentTrip);
ui.locationTags->clear();
//TODO: Fix this.
//ui.location->setText(currentTrip->location);
diff --git a/desktop-widgets/tab-widgets/maintab.h b/desktop-widgets/tab-widgets/maintab.h
index 671f22ac4..2d620eff1 100644
--- a/desktop-widgets/tab-widgets/maintab.h
+++ b/desktop-widgets/tab-widgets/maintab.h
@@ -52,7 +52,8 @@ slots:
void updateDiveInfo();
void updateNotes(const struct dive *d);
void updateMode(struct dive *d);
- void updateDateTime(struct dive *d);
+ void updateDateTime(const struct dive *d);
+ void updateTripDate(const struct dive_trip *t);
void updateDiveSite(struct dive *d);
void acceptChanges();
void rejectChanges();