Connect changes in the tanks with the dive that is being added

- you can no longer delete a tank when its gas is in use
- therefore you can no longer delete the last tank
- when you change the gas mix of a tank, the corresponding segments in the
  dive change as well
- when changing gas for a segment the correct available gases are offered

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2013-11-13 21:45:54 +09:00
parent aa76d35923
commit d7fb6853a3
3 changed files with 83 additions and 2 deletions

View file

@ -34,6 +34,9 @@ public:
void createSimpleDive();
void clear();
Mode currentMode() const;
void tanksUpdated();
void rememberTanks();
bool tankInUse(int o2, int he);
/**
* @return the row number.
*/
@ -42,6 +45,8 @@ public:
int size();
struct diveplan getDiveplan();
QStringList &getGasList();
QList<QPair<int, int> > collectGases(dive *d);
public slots:
int addStop(int meters = 0, int minutes = 0, int o2 = 0, int he = 0, int ccpoint = 0 );
void addCylinder_clicked();
@ -73,6 +78,7 @@ private:
void deleteTemporaryPlan(struct divedatapoint *dp);
QVector<sample> backupSamples; // For editing added dives.
struct dive *stagingDive;
QList<QPair<int, int> > oldGases;
};
class Button : public QObject, public QGraphicsRectItem {