Show the calculated deco stops in the planner table

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Robert C. Helling 2014-05-29 23:32:38 +02:00 committed by Dirk Hohndel
parent d054e8c457
commit 7d42b53bba
2 changed files with 23 additions and 0 deletions

View file

@ -769,6 +769,27 @@ void DivePlannerPointsModel::clear()
CylindersModel::instance()->clear(); CylindersModel::instance()->clear();
} }
void DivePlannerPointsModel::addDecoToModel()
{
struct divedatapoint *dp;
bool oldRecalc = plannerModel->setRecalc(false);
plannerModel->removeDeco();
unsigned int lastdepth = 0;
for (dp = diveplan.dp; dp != NULL; dp = dp->next) {
if (dp->time == 0) // magic entry for available tank
continue;
if (!dp->entered) {
if (dp->depth) {
if (dp->depth == lastdepth || dp->o2 != dp->next->o2 || dp->he != dp->next->he)
plannerModel->addStop(dp->depth, dp->time, dp->next->o2, dp->next->he, 0, false);
lastdepth = dp->depth;
}
}
}
plannerModel->setRecalc(oldRecalc);
}
void DivePlannerPointsModel::createTemporaryPlan() void DivePlannerPointsModel::createTemporaryPlan()
{ {
@ -809,6 +830,7 @@ void DivePlannerPointsModel::createTemporaryPlan()
#endif #endif
if (plannerModel->recalcQ()) { if (plannerModel->recalcQ()) {
plan(&diveplan, &cache, &tempDive, stagingDive, isPlanner()); plan(&diveplan, &cache, &tempDive, stagingDive, isPlanner());
addDecoToModel();
if (mode == ADD || mode == PLAN) { if (mode == ADD || mode == PLAN) {
// copy the samples and events, but don't overwrite the cylinders // copy the samples and events, but don't overwrite the cylinders
copy_samples(tempDive, current_dive); copy_samples(tempDive, current_dive);

View file

@ -99,6 +99,7 @@ private:
QVector<sample> backupSamples; // For editing added dives. QVector<sample> backupSamples; // For editing added dives.
struct dive *stagingDive; struct dive *stagingDive;
QVector<QPair<int, int> > oldGases; QVector<QPair<int, int> > oldGases;
void addDecoToModel();
}; };
class DiveHandler : public QObject, public QGraphicsEllipseItem { class DiveHandler : public QObject, public QGraphicsEllipseItem {