Core: unify insert_trip() and insert_trip_dont_merge()

There were two versions of the insert_trip() function: one
would merge trips if a trip with the same date already existed,
the other wouldn't. The latter was introduced with the dive-list
undo work.

The problem is that the "date" of a trip (i.e. the first dive)
seems ill-defined as this is a volatile value. Moreover in
the context of making dive-import undoable this is a very
dangerous notion, as the caller needs control over when the dives
are added to a trip.

Therefore, unify these two functions and never merge trips.
The decision on merging dives now has to made by the caller.
This will be implemented in a future commit.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2018-11-08 17:13:17 +01:00 committed by Dirk Hohndel
parent c48056300d
commit 0618aa737f
6 changed files with 14 additions and 49 deletions

View file

@ -1270,7 +1270,7 @@ bool QMLManager::undoDelete(int id)
return false;
}
if (deletedTrip)
insert_trip(&deletedTrip);
insert_trip(deletedTrip);
if (deletedDive->divetrip) {
struct dive_trip *trip = deletedDive->divetrip;
tripflag_t tripflag = deletedDive->tripflag; // this gets overwritten in add_dive_to_trip()