mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
core: turn trip-table into our own sorted_owning_table
Since the sorted_owning_table depends on the fact that different elements never compare as equal, make the comparison function safer in that respect. If all failes, compare the pointers. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
1cebafb08f
commit
eacad89531
21 changed files with 217 additions and 305 deletions
|
@ -169,7 +169,7 @@ void TabDiveNotes::updateDateTime(const struct dive *d)
|
|||
|
||||
void TabDiveNotes::updateTripDate(const struct dive_trip *t)
|
||||
{
|
||||
QDateTime localTime = timestampToDateTime(trip_date(t));
|
||||
QDateTime localTime = timestampToDateTime(trip_date(*t));
|
||||
ui.dateEdit->setDate(localTime.date());
|
||||
}
|
||||
|
||||
|
|
|
@ -18,9 +18,9 @@ TripSelectionDialog::TripSelectionDialog(QWidget *parent) : QDialog(parent)
|
|||
|
||||
// We could use a model, but it seems barely worth the hassle.
|
||||
QStringList list;
|
||||
list.reserve(divelog.trips->nr);
|
||||
for (int i = 0; i < divelog.trips->nr; ++i)
|
||||
list.push_back(formatTripTitleWithDives(divelog.trips->trips[i]));
|
||||
list.reserve(divelog.trips->size());
|
||||
for (auto &trip: *divelog.trips)
|
||||
list.push_back(formatTripTitleWithDives(*trip));
|
||||
ui.trips->addItems(list);
|
||||
}
|
||||
|
||||
|
@ -37,9 +37,9 @@ dive_trip *TripSelectionDialog::selectedTrip() const
|
|||
if (rows.size() != 1)
|
||||
return nullptr;
|
||||
int idx = rows[0].row();
|
||||
if (idx < 0 || idx >= divelog.trips->nr)
|
||||
if (idx < 0 || static_cast<size_t>(idx) >= divelog.trips->size())
|
||||
return nullptr;
|
||||
return divelog.trips->trips[idx];
|
||||
return (*divelog.trips)[idx].get();
|
||||
}
|
||||
|
||||
dive_trip *TripSelectionDialog::getTrip()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue