diff options
-rw-r--r-- | qt-ui/diveplanner.cpp | 18 | ||||
-rw-r--r-- | qt-ui/diveplanner.h | 2 | ||||
-rw-r--r-- | qt-ui/profile/profilewidget2.cpp | 3 |
3 files changed, 14 insertions, 9 deletions
diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp index 66bad705f..abe1c3a62 100644 --- a/qt-ui/diveplanner.cpp +++ b/qt-ui/diveplanner.cpp @@ -67,11 +67,11 @@ void DivePlannerPointsModel::createSimpleDive() // let's use the gas from the first cylinder gas = stagingDive->cylinder[0].gasmix; - plannerModel->addStop(M_OR_FT(15, 45), 1 * 60, gas, 0, true); - plannerModel->addStop(M_OR_FT(15, 45), 40 * 60, gas, 0, true); + plannerModel->addStop(M_OR_FT(15, 45), 1 * 60, &gas, 0, true); + plannerModel->addStop(M_OR_FT(15, 45), 40 * 60, &gas, 0, true); if (!isPlanner()) { - plannerModel->addStop(M_OR_FT(5, 15), 42 * 60, gas, 0, true); - plannerModel->addStop(M_OR_FT(5, 15), 45 * 60, gas, 0, true); + plannerModel->addStop(M_OR_FT(5, 15), 42 * 60, &gas, 0, true); + plannerModel->addStop(M_OR_FT(5, 15), 45 * 60, &gas, 0, true); } } @@ -92,7 +92,7 @@ void DivePlannerPointsModel::loadFromDive(dive *d) if (s.time.seconds == 0) continue; get_gas_from_events(&backupDive.dc, lasttime, &gas); - plannerModel->addStop(s.depth.mm, s.time.seconds, gas, 0, true); + plannerModel->addStop(s.depth.mm, s.time.seconds, &gas, 0, true); lasttime = s.time.seconds; } } @@ -548,9 +548,15 @@ int DivePlannerPointsModel::lastEnteredPoint() return -1; } -int DivePlannerPointsModel::addStop(int milimeters, int seconds, struct gasmix gas, int ccpoint, bool entered, bool usePrevious) +int DivePlannerPointsModel::addStop(int milimeters, int seconds, gasmix *gas_in, int ccpoint, bool entered) { struct gasmix air = { 0 }; + struct gasmix gas = { 0 }; + bool usePrevious = false; + if (gas_in) + gas = *gas_in; + else + usePrevious = true; if (recalcQ()) removeDeco(); diff --git a/qt-ui/diveplanner.h b/qt-ui/diveplanner.h index 526e1c5fd..a26038b2f 100644 --- a/qt-ui/diveplanner.h +++ b/qt-ui/diveplanner.h @@ -64,7 +64,7 @@ public: public slots: - int addStop(int millimeters, int seconds, struct gasmix gas, int ccpoint, bool entered, bool usePrevious = false); + int addStop(int millimeters = 0, int seconds = 0, struct gasmix *gas = 0, int ccpoint = 0, bool entered = true); void addCylinder_clicked(); void setGFHigh(const int gfhigh); void setGFLow(const int ghflow); diff --git a/qt-ui/profile/profilewidget2.cpp b/qt-ui/profile/profilewidget2.cpp index 3d740ca1b..ccdbe1888 100644 --- a/qt-ui/profile/profilewidget2.cpp +++ b/qt-ui/profile/profilewidget2.cpp @@ -605,8 +605,7 @@ void ProfileWidget2::mouseDoubleClickEvent(QMouseEvent *event) int minutes = rint(timeAxis->valueAt(mappedPos) / 60); int milimeters = rint(profileYAxis->valueAt(mappedPos) / M_OR_FT(1, 1)) * M_OR_FT(1, 1); - struct gasmix ignore = { 0 }; - plannerModel->addStop(milimeters, minutes * 60, ignore, 0, true, true); + plannerModel->addStop(milimeters, minutes * 60, 0, 0, true); } } |