mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Undo: make weight editing undoable
Implement the EditWeight undo command. Since there is common code (storage of the old weight), this creates a common base class for RemoveWeight and EditWeight. The model calls directly into the undo command, which is somewhat unfortunate as it feels like a layering violation. It's the easy thing to do for now. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
029c9ccf02
commit
72c6b83866
10 changed files with 132 additions and 59 deletions
|
|
@ -288,6 +288,15 @@ void remove_weightsystem(struct dive *dive, int idx)
|
|||
remove_from_weightsystem_table(&dive->weightsystems, idx);
|
||||
}
|
||||
|
||||
// ws is cloned.
|
||||
void set_weightsystem(struct dive *dive, int idx, weightsystem_t ws)
|
||||
{
|
||||
if (idx < 0 || idx >= dive->weightsystems.nr)
|
||||
return;
|
||||
free_weightsystem(dive->weightsystems.weightsystems[idx]);
|
||||
dive->weightsystems.weightsystems[idx] = clone_weightsystem(ws);
|
||||
}
|
||||
|
||||
/* when planning a dive we need to make sure that all cylinders have a sane depth assigned
|
||||
* and if we are tracking gas consumption the pressures need to be reset to start = end = workingpressure */
|
||||
void reset_cylinders(struct dive *dive, bool track_gas)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue