Show/save weights up to and including last valid

Previous show and save code would have aborted at the first invalid
weight system. This makes sure we save and show all weight systems up
until and including the last valid.

If we had:
integrated: 1kg
belt: 2kg
ankle: 3kg

And changed belt to 0 kg, we would have only saved integrated 1kg, and
nothing about the belt or the ankle weights. This will save all of them,
and show all of them.

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:17 +01:00 committed by Dirk Hohndel
parent ab4115791b
commit 57fb878b41
2 changed files with 21 additions and 14 deletions

View file

@ -543,20 +543,16 @@ void WeightModel::setDive(dive* d)
{
if (current)
clear();
int amount = MAX_WEIGHTSYSTEMS;
rows = 0;
for(int i = 0; i < MAX_WEIGHTSYSTEMS; i++) {
weightsystem_t *weightsystem = &d->weightsystem[i];
if (weightsystem_none(weightsystem)) {
amount = i;
break;
if (!weightsystem_none(&d->weightsystem[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();
}
}