Show cylinders up to and including the last valid

Previous code aborted at the first invalid cylinder. This instead finds
the last valid and prints all the ones up until that one.

Fixes #295

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Anton Lundin 2013-11-27 22:59:16 +01:00 committed by Dirk Hohndel
parent 27bfc587cf
commit ab4115791b

View file

@ -353,19 +353,16 @@ void CylindersModel::setDive(dive* d)
clear();
if (!d)
return;
int amount = MAX_CYLINDERS;
rows = 0;
for(int i = 0; i < MAX_CYLINDERS; i++) {
cylinder_t *cylinder = &d->cylinder[i];
if (cylinder_none(cylinder)) {
amount = i;
break;
if (!cylinder_none(&d->cylinder[i])) {
rows = i+1;
}
}
rows = amount;
current = d;
changed = false;
if (amount > 0) {
beginInsertRows(QModelIndex(), 0, amount - 1);
if (rows > 0) {
beginInsertRows(QModelIndex(), 0, rows-1);
endInsertRows();
}
}