undo: more fine-grained editing of cylinder

Don't overwrite the full cylinder when editing a single field.
Implement three "modes": editing of type, pressure and gasmix.

Don't consider individual fields, because some of them are
related. E.g. you can change the gasmix by setting the MOD.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2020-03-27 21:09:59 +01:00
parent 4e8a838f74
commit 2eeb5f4fc2
7 changed files with 64 additions and 22 deletions

View file

@ -304,9 +304,9 @@ int removeCylinder(int index, bool currentDiveOnly)
return execute_edit(new RemoveCylinder(index, currentDiveOnly));
}
int editCylinder(int index, cylinder_t cyl, bool currentDiveOnly)
int editCylinder(int index, cylinder_t cyl, EditCylinderType type, bool currentDiveOnly)
{
return execute_edit(new EditCylinder(index, cyl, currentDiveOnly));
return execute_edit(new EditCylinder(index, cyl, type, currentDiveOnly));
}
// Trip editing related commands