Desktop: Fix Gas Editing for Manually Added Dives.

- show the correct gasmix in the profile;
- make gases available for gas switches in the profile after they have
  been added;
- persist gas changes;
- add air as a default gas when adding a dive.

This still has problems when undoing a gas switch - instead of
completely removing the gas switch it is just moved to the next point in the
profile.

Signed-off-by: Michael Keller <github@ike.ch>
This commit is contained in:
Michael Keller 2024-05-25 19:03:39 +12:00
parent 9243921cbb
commit f65afaf5d2
13 changed files with 121 additions and 54 deletions

View file

@ -34,11 +34,13 @@ public:
private
slots:
void divesChanged(const QVector<dive *> &dives, DiveField field);
void cylindersChanged(struct dive *changed, int pos);
void unsetProfHR();
void unsetProfTissues();
void stopAdded();
void stopRemoved(int count);
void stopMoved(int count);
void stopEdited();
private:
std::unique_ptr<EmptyView> emptyView;
std::vector<QAction *> toolbarActions;
@ -49,8 +51,6 @@ private:
void exitEditMode();
void rotateDC(int dir);
OwningDivePtr editedDive;
int editedDc;
dive *originalDive;
bool placingCommand;
};