diff options
Diffstat (limited to 'qt-models/diveplannermodel.cpp')
-rw-r--r-- | qt-models/diveplannermodel.cpp | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/qt-models/diveplannermodel.cpp b/qt-models/diveplannermodel.cpp index 038783d1c..30ab063d2 100644 --- a/qt-models/diveplannermodel.cpp +++ b/qt-models/diveplannermodel.cpp @@ -221,13 +221,13 @@ bool DivePlannerPointsModel::updateMaxDepth() void DivePlannerPointsModel::removeDeco() { - bool oldrec = setRecalc(false); + bool oldrec = std::exchange(recalc, false); QVector<int> computedPoints; for (int i = 0; i < rowCount(); i++) if (!at(i).entered) computedPoints.push_back(i); removeSelectedPoints(computedPoints); - setRecalc(oldrec); + recalc = oldrec; } void DivePlannerPointsModel::addCylinder_clicked() @@ -254,13 +254,6 @@ bool DivePlannerPointsModel::isPlanner() const /* When the planner adds deco stops to the model, adding those should not trigger a new deco calculation. * We thus start the planner only when recalc is true. */ -bool DivePlannerPointsModel::setRecalc(bool rec) -{ - bool old = recalc; - recalc = rec; - return old; -} - bool DivePlannerPointsModel::recalcQ() const { return recalc; @@ -456,7 +449,7 @@ DivePlannerPointsModel::DivePlannerPointsModel(QObject *parent) : QAbstractTable d(nullptr), cylinders(true), mode(NOTHING), - recalc(false) + recalc(true) { memset(&diveplan, 0, sizeof(diveplan)); startTime.setTimeSpec(Qt::UTC); @@ -996,14 +989,14 @@ bool DivePlannerPointsModel::tankInUse(int cylinderid) const void DivePlannerPointsModel::clear() { - bool oldRecalc = setRecalc(false); + bool oldrec = std::exchange(recalc, false); beginResetModel(); divepoints.clear(); endResetModel(); cylinders.clear(); preserved_until.seconds = 0; - setRecalc(oldRecalc); + recalc = oldrec; } void DivePlannerPointsModel::createTemporaryPlan() @@ -1240,7 +1233,6 @@ finish: free(save); free(cache); free(dive); -// setRecalc(oldRecalc); } void DivePlannerPointsModel::computeVariationsDone(QString variations) @@ -1255,10 +1247,10 @@ void DivePlannerPointsModel::createPlan(bool replanCopy) { // Ok, so, here the diveplan creates a dive struct deco_state *cache = NULL; - bool oldRecalc = setRecalc(false); + bool oldrec = std::exchange(recalc, false); removeDeco(); createTemporaryPlan(); - setRecalc(oldRecalc); + recalc = oldrec; //TODO: C-based function here? struct decostop stoptable[60]; |