mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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:
parent
c48056300d
commit
0618aa737f
6 changed files with 14 additions and 49 deletions
|
@ -82,7 +82,7 @@ DiveToAdd DiveListBase::removeDive(struct dive *d)
|
|||
dive *DiveListBase::addDive(DiveToAdd &d)
|
||||
{
|
||||
if (d.tripToAdd)
|
||||
insert_trip_dont_merge(d.tripToAdd.release()); // Return ownership to backend
|
||||
insert_trip(d.tripToAdd.release()); // Return ownership to backend
|
||||
if (d.trip)
|
||||
add_dive_to_trip(d.dive.get(), d.trip);
|
||||
dive *res = d.dive.release(); // Give up ownership of dive
|
||||
|
@ -259,7 +259,7 @@ static void moveDivesBetweenTrips(DivesToTrip &dives)
|
|||
for (OwningTripPtr &trip: dives.tripsToAdd) {
|
||||
dive_trip *t = trip.release(); // Give up ownership
|
||||
createdTrips.push_back(t);
|
||||
insert_trip_dont_merge(t); // Return ownership to backend
|
||||
insert_trip(t); // Return ownership to backend
|
||||
}
|
||||
dives.tripsToAdd.clear();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue