mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Core: add trip_table parameter to trip-functions
Currently trips are added to the global trip table. If we want to make dive-import undoable, we should be able to parse trips of a log-file into a distinct table. Therefore, add a trip_table parameter to - insert_trip() - create_and_hookup_trip_from_dive() - autogroup_dives() - unregister_trip() - remove_dive_from_trip() Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
7df8d8c888
commit
ec37c71f5e
9 changed files with 45 additions and 46 deletions
|
@ -68,7 +68,7 @@ DiveToAdd DiveListBase::removeDive(struct dive *d, std::vector<OwningTripPtr> &t
|
|||
// remove the whole trip.
|
||||
res.trip = unregister_dive_from_trip(d);
|
||||
if (res.trip && res.trip->dives.nr == 0) {
|
||||
unregister_trip(res.trip); // Remove trip from backend
|
||||
unregister_trip(res.trip, &trip_table); // Remove trip from backend
|
||||
tripsToAdd.emplace_back(res.trip); // Take ownership of trip
|
||||
}
|
||||
|
||||
|
@ -164,7 +164,7 @@ std::vector<dive *> DiveListBase::addDives(DivesAndTripsToAdd &toAdd)
|
|||
addedTrips.reserve(toAdd.trips.size());
|
||||
for (OwningTripPtr &trip: toAdd.trips) {
|
||||
addedTrips.push_back(trip.get());
|
||||
insert_trip(trip.release()); // Return ownership to backend
|
||||
insert_trip(trip.release(), &trip_table); // Return ownership to backend
|
||||
}
|
||||
toAdd.trips.clear();
|
||||
|
||||
|
@ -229,7 +229,7 @@ static OwningTripPtr moveDiveToTrip(DiveToTrip &diveToTrip)
|
|||
// Remove dive from trip - if this is the last dive in the trip, remove the whole trip.
|
||||
dive_trip *trip = unregister_dive_from_trip(diveToTrip.dive);
|
||||
if (trip && trip->dives.nr == 0) {
|
||||
unregister_trip(trip); // Remove trip from backend
|
||||
unregister_trip(trip, &trip_table); // Remove trip from backend
|
||||
res.reset(trip);
|
||||
}
|
||||
|
||||
|
@ -257,7 +257,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(t); // Return ownership to backend
|
||||
insert_trip(t, &trip_table); // Return ownership to backend
|
||||
}
|
||||
dives.tripsToAdd.clear();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue