cleanup: use getDiveSelection() to loop over selected dives

getDiveSelection() returns a vector of the selected dives.
Use that instead of looping over the dive table and checking
manually.

This removes a few lines of code.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2020-09-30 00:01:24 +02:00 committed by Dirk Hohndel
parent 7b196a5ef9
commit 00abc04913
4 changed files with 18 additions and 53 deletions

View file

@ -4,6 +4,7 @@
#include "subsurface-string.h"
#include "device.h"
#include "errorhelper.h" // for verbose flag
#include "selection.h"
#include "core/settings/qPrefDiveComputer.h"
/*
@ -305,12 +306,8 @@ extern "C" void call_for_each_dc (void *f, void (*callback)(void *, const char *
for (const DiveComputerNode &node : values) {
bool found = false;
if (select_only) {
int j;
struct dive *d;
for_each_dive (j, d) {
for (dive *d: getDiveSelection()) {
struct divecomputer *dc;
if (!d->selected)
continue;
for_each_dc (d, dc) {
if (dc->deviceid == node.deviceId) {
found = true;

View file

@ -19,6 +19,7 @@
#include "exif.h"
#include "file.h"
#include "picture.h"
#include "selection.h"
#include "tag.h"
#include "trip.h"
#include "imagedownloader.h"
@ -387,12 +388,9 @@ static bool lessThan(const QPair<QString, int> &a, const QPair<QString, int> &b)
QVector<QPair<QString, int>> selectedDivesGasUsed()
{
int i, j;
struct dive *d;
int j;
QMap<QString, int> gasUsed;
for_each_dive (i, d) {
if (!d->selected)
continue;
for (dive *d: getDiveSelection()) {
volume_t *diveGases = get_gas_used(d);
for (j = 0; j < d->cylinders.nr; j++) {
if (diveGases[j].mliter) {