diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2014-05-27 11:28:42 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-05-27 15:12:41 -0700 |
commit | 7bed6e987319e60795db049fa2b87817e1badbdf (patch) | |
tree | 6d3b8c5347767f20195b31d7c3cb299d5ba8d54d | |
parent | d1cd1eb933418282942b5cdacd1df46b75729f44 (diff) | |
download | subsurface-7bed6e987319e60795db049fa2b87817e1badbdf.tar.gz |
Planner: use the gas in the first cylinder for initial plan
As Tomaz suggested, I don't need to pass the information whether we are on
the planner into the function - it's part of the DivePlannerPointsModel
and therefore already knows.
Also, we want to make sure we actually use the gas that's in the first
cylidner of the staging dive.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | qt-ui/diveplanner.cpp | 19 | ||||
-rw-r--r-- | qt-ui/diveplanner.h | 2 | ||||
-rw-r--r-- | qt-ui/mainwindow.cpp | 2 |
3 files changed, 15 insertions, 8 deletions
diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp index f6127e5c4..c02a5b34d 100644 --- a/qt-ui/diveplanner.cpp +++ b/qt-ui/diveplanner.cpp @@ -59,14 +59,21 @@ void DivePlannerPointsModel::removeSelectedPoints(const QVector<int> &rows) endRemoveRows(); } -void DivePlannerPointsModel::createSimpleDive(bool planner) +void DivePlannerPointsModel::createSimpleDive() { + int o2 = O2_IN_AIR; + int he = 0; + if (isPlanner()) { + // let's use the gas from the first cylinder + o2 = stagingDive->cylinder[0].gasmix.o2.permille; + he = stagingDive->cylinder[0].gasmix.he.permille; + } // plannerModel->addStop(0, 0, O2_IN_AIR, 0, 0); - plannerModel->addStop(M_OR_FT(15, 45), 1 * 60, O2_IN_AIR, 0, 0, true); - plannerModel->addStop(M_OR_FT(15, 45), 40 * 60, O2_IN_AIR, 0, 0, true); - if (!planner) { - plannerModel->addStop(M_OR_FT(5, 15), 42 * 60, O2_IN_AIR, 0, 0, true); - plannerModel->addStop(M_OR_FT(5, 15), 45 * 60, O2_IN_AIR, 0, 0, true); + plannerModel->addStop(M_OR_FT(15, 45), 1 * 60, o2, he, 0, true); + plannerModel->addStop(M_OR_FT(15, 45), 40 * 60, o2, he, 0, true); + if (!isPlanner()) { + plannerModel->addStop(M_OR_FT(5, 15), 42 * 60, o2, he, 0, true); + plannerModel->addStop(M_OR_FT(5, 15), 45 * 60, o2, he, 0, true); } } diff --git a/qt-ui/diveplanner.h b/qt-ui/diveplanner.h index 781d7c741..4aa5f0094 100644 --- a/qt-ui/diveplanner.h +++ b/qt-ui/diveplanner.h @@ -39,7 +39,7 @@ public: void removeSelectedPoints(const QVector<int> &rows); void setPlanMode(Mode mode); bool isPlanner(); - void createSimpleDive(bool planner = false); + void createSimpleDive(); void clear(); Mode currentMode() const; bool setRecalc(bool recalc); diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp index 8a637ff6b..ecc04a58c 100644 --- a/qt-ui/mainwindow.cpp +++ b/qt-ui/mainwindow.cpp @@ -419,7 +419,7 @@ void MainWindow::on_actionDivePlanner_triggered() // create a simple starting dive, using the first gas from the just copied cylidners createFakeDiveForAddAndPlan(); - DivePlannerPointsModel::instance()->createSimpleDive(true); + DivePlannerPointsModel::instance()->createSimpleDive(); // reload and then disable the dive list ui.ListWidget->reload(DiveTripModel::CURRENT); |