Fix trip summary line in dive list

Two errors fixed.

- With no location set, the summary line would start with a ','.
- When auto creating a trip for a manually added dive or when editing the
  dates of dives in a trip, the timestamp for the trip was not updated
  after editing the dive.

Fixes #293

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2013-11-19 14:16:33 -08:00
parent 65e980d483
commit 6acff53735
4 changed files with 11 additions and 2 deletions

View file

@ -600,7 +600,7 @@ static void delete_trip(dive_trip_t *trip)
free(trip);
}
static void find_new_trip_start_time(dive_trip_t *trip)
void find_new_trip_start_time(dive_trip_t *trip)
{
struct dive *dive = trip->dives;
timestamp_t when = dive->when;

View file

@ -30,6 +30,7 @@ extern struct dive *merge_two_dives(struct dive *a, struct dive *b);
extern bool consecutive_selected();
extern void select_dive(int idx);
extern void deselect_dive(int idx);
void find_new_trip_start_time(dive_trip_t *trip);
#ifdef DEBUG_TRIP
extern void dump_selection(void);

View file

@ -13,6 +13,7 @@
#include "globe.h"
#include "completionmodels.h"
#include "diveplanner.h"
#include "divelist.h"
#include "qthelper.h"
#include <QLabel>
@ -499,6 +500,10 @@ void MainTab::acceptChanges()
}
}
if (current_dive->divetrip) {
current_dive->divetrip->when = current_dive->when;
find_new_trip_start_time(current_dive->divetrip);
}
if (editMode == ADD || editMode == MANUALLY_ADDED_DIVE) {
// clean up the dive data (get duration, depth information from samples)
fixup_dive(current_dive);

View file

@ -929,7 +929,10 @@ QVariant TripItem::data(int column, int role) const
if (role == Qt::DisplayRole) {
switch (column) {
case DiveTripModel::NR:
ret = QString(trip->location) + ", " + get_trip_date_string(trip->when, trip->nrdives);
if (trip->location && *trip->location)
ret = QString(trip->location) + ", " + get_trip_date_string(trip->when, trip->nrdives);
else
ret = get_trip_date_string(trip->when, trip->nrdives);
break;
}
}