mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
core: make get_trip_by_uniq_id a member of trip_table
Don't access the global trip_table in an attempt to cut down on implicit accesses of global variables. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
eacad89531
commit
71518fa77e
3 changed files with 6 additions and 7 deletions
|
@ -138,11 +138,10 @@ std::pair<dive_trip *, std::unique_ptr<dive_trip>> get_trip_for_new_dive(const s
|
|||
}
|
||||
|
||||
/* lookup of trip in main trip_table based on its id */
|
||||
dive_trip *get_trip_by_uniq_id(int tripId)
|
||||
dive_trip *trip_table::get_by_uniq_id(int tripId) const
|
||||
{
|
||||
auto it = std::find_if(divelog.trips->begin(), divelog.trips->end(),
|
||||
[tripId](auto &t) { return t->id == tripId; });
|
||||
return it != divelog.trips->end() ? it->get() : nullptr;
|
||||
auto it = std::find_if(begin(), end(), [tripId](auto &t) { return t->id == tripId; });
|
||||
return it != end() ? it->get() : nullptr;
|
||||
}
|
||||
|
||||
/* Check if two trips overlap time-wise up to trip threshold. */
|
||||
|
|
|
@ -25,6 +25,7 @@ struct dive_trip
|
|||
int comp_trips(const dive_trip &t1, const dive_trip &t2);
|
||||
|
||||
struct trip_table : public sorted_owning_table<dive_trip, &comp_trips> {
|
||||
dive_trip *get_by_uniq_id(int tripId) const;
|
||||
};
|
||||
|
||||
extern void add_dive_to_trip(struct dive *, dive_trip *);
|
||||
|
@ -45,7 +46,6 @@ struct dives_to_autogroup_result {
|
|||
|
||||
extern std::vector<dives_to_autogroup_result> get_dives_to_autogroup(struct dive_table *table);
|
||||
extern std::pair<dive_trip *, std::unique_ptr<dive_trip>> get_trip_for_new_dive(const struct dive *new_dive);
|
||||
extern dive_trip *get_trip_by_uniq_id(int tripId);
|
||||
extern bool trips_overlap(const struct dive_trip &t1, const struct dive_trip &t2);
|
||||
|
||||
extern std::unique_ptr<dive_trip> combine_trips(struct dive_trip *trip_a, struct dive_trip *trip_b);
|
||||
|
|
|
@ -1369,7 +1369,7 @@ void QMLManager::commitChanges(QString diveId, QString number, QString date, QSt
|
|||
void QMLManager::updateTripDetails(QString tripIdString, QString tripLocation, QString tripNotes)
|
||||
{
|
||||
int tripId = tripIdString.toInt();
|
||||
dive_trip *trip = get_trip_by_uniq_id(tripId);
|
||||
dive_trip *trip = divelog.trips->get_by_uniq_id(tripId);
|
||||
if (!trip) {
|
||||
report_info("updateTripData: cannot find trip for tripId %s", qPrintable(tripIdString));
|
||||
return;
|
||||
|
@ -1428,7 +1428,7 @@ void QMLManager::addDiveToTrip(int id, int tripId)
|
|||
appendTextToLog(QString("Asked to add non-existing dive with id %1 to trip %2.").arg(id).arg(tripId));
|
||||
return;
|
||||
}
|
||||
struct dive_trip *dt = get_trip_by_uniq_id(tripId);
|
||||
struct dive_trip *dt = divelog.trips->get_by_uniq_id(tripId);
|
||||
if (!dt) {
|
||||
appendTextToLog(QString("Asked to add dive with id %1 to trip with id %2 which cannot be found.").arg(id).arg(tripId));
|
||||
return;
|
||||
|
|
Loading…
Reference in a new issue