summaryrefslogtreecommitdiffstats
path: root/qt-models/cylindermodel.h
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2020-03-01 16:12:13 +0100
committerGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2020-04-07 00:13:35 +0200
commit24a7dbde16ce5f024f6137a2318e54815a495a94 (patch)
tree13c62fa14c6f03e6cb74abaec40536de990e215a /qt-models/cylindermodel.h
parent01fa983182062e00b2e661a963384289e4de1beb (diff)
downloadsubsurface-24a7dbde16ce5f024f6137a2318e54815a495a94.tar.gz
CylindersModel: use flag to decide whether we are in planner
On desktop, we have two CylindersModel concurrently: One in the planner and one on the equipment-tab. They act differently, because the former modifies displayed_dive directly, the latter issues undo commands. To differentiate, we used the in_planner() function. However, that appears extremely brittle, especially when combined with undo-commands. Therefore when generating the model, pass in a parameter that says whether this is for the planner or the equipment tab and use that flag to decide how to act. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'qt-models/cylindermodel.h')
-rw-r--r--qt-models/cylindermodel.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/qt-models/cylindermodel.h b/qt-models/cylindermodel.h
index e4585b0ac..7b868b5b2 100644
--- a/qt-models/cylindermodel.h
+++ b/qt-models/cylindermodel.h
@@ -35,7 +35,7 @@ public:
COMMIT_ROLE, // Save the temporary data to the dive. Must be set with Column == TYPE.
REVERT_ROLE // Revert to original data from dive. Must be set with Column == TYPE.
};
- explicit CylindersModel(QObject *parent = 0);
+ explicit CylindersModel(bool planner, QObject *parent = 0); // First argument: true if this model is used for the planner
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
Qt::ItemFlags flags(const QModelIndex &index) const override;
@@ -61,6 +61,7 @@ slots:
private:
dive *d;
+ bool inPlanner;
// Used if we temporarily change a line because the user is selecting a weight type
int tempRow;
cylinder_t tempCyl;