aboutsummaryrefslogtreecommitdiffstats
path: root/qt-models
diff options
context:
space:
mode:
Diffstat (limited to 'qt-models')
-rw-r--r--qt-models/diveplannermodel.cpp15
-rw-r--r--qt-models/diveplannermodel.h1
2 files changed, 11 insertions, 5 deletions
diff --git a/qt-models/diveplannermodel.cpp b/qt-models/diveplannermodel.cpp
index c8da6e6a7..7019472c7 100644
--- a/qt-models/diveplannermodel.cpp
+++ b/qt-models/diveplannermodel.cpp
@@ -28,7 +28,7 @@ CylindersModel *DivePlannerPointsModel::cylindersModel()
return &cylinders;
}
-void DivePlannerPointsModel::removeSelectedPoints(const QVector<int> &rows)
+void DivePlannerPointsModel::removePoints(const QVector<int> &rows)
{
if (!rows.count())
return;
@@ -40,6 +40,12 @@ void DivePlannerPointsModel::removeSelectedPoints(const QVector<int> &rows)
divepoints.erase(divepoints.begin() + v2[i]);
endRemoveRows();
}
+}
+
+void DivePlannerPointsModel::removeSelectedPoints(const QVector<int> &rows)
+{
+ removePoints(rows);
+
updateDiveProfile();
emitDataChanged();
cylinders.updateTrashIcon();
@@ -225,13 +231,12 @@ bool DivePlannerPointsModel::updateMaxDepth()
void DivePlannerPointsModel::removeDeco()
{
- bool oldrec = std::exchange(recalc, false);
QVector<int> computedPoints;
- for (int i = 0; i < rowCount(); i++)
+ for (int i = 0; i < rowCount(); i++) {
if (!at(i).entered)
computedPoints.push_back(i);
- removeSelectedPoints(computedPoints);
- recalc = oldrec;
+ }
+ removePoints(computedPoints);
}
void DivePlannerPointsModel::addCylinder_clicked()
diff --git a/qt-models/diveplannermodel.h b/qt-models/diveplannermodel.h
index b1f37d70d..f0ec195e6 100644
--- a/qt-models/diveplannermodel.h
+++ b/qt-models/diveplannermodel.h
@@ -115,6 +115,7 @@ private:
explicit DivePlannerPointsModel(QObject *parent = 0);
void clear();
int addStop(int millimeters, int seconds, int cylinderid_in, int ccpoint, bool entered, enum divemode_t);
+ void removePoints(const QVector<int> &rows);
void setupStartTime();
void setupCylinders();
int lastEnteredPoint() const;