summaryrefslogtreecommitdiffstats
path: root/qt-models/filtermodels.h
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-12-09 15:37:26 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-12-10 18:45:30 -0800
commit6ec82a3c80e0f362abc59a6df8ea793013f01c65 (patch)
treef381e928ccbc788b8302b0404f14bcb04af40de9 /qt-models/filtermodels.h
parent0f417a3bc1f282b34509df1c9295197522344a55 (diff)
downloadsubsurface-6ec82a3c80e0f362abc59a6df8ea793013f01c65.tar.gz
Dive list: remove global pointer to DiveTrip model
This part of the code had that horrible pattern, where reseting the model would invalidate all pointers to the DiveTrip model. Internalize these complexities in the MultiFilterSortModel. All accesses are now performed via that proxy model. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'qt-models/filtermodels.h')
-rw-r--r--qt-models/filtermodels.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/qt-models/filtermodels.h b/qt-models/filtermodels.h
index fef39e0d5..33d17791b 100644
--- a/qt-models/filtermodels.h
+++ b/qt-models/filtermodels.h
@@ -5,7 +5,10 @@
#include "divetripmodel.h"
#include <QSortFilterProxyModel>
+#include <memory>
+// This proxy model sits on top of either a DiveTripList or DiveTripTree model
+// and does filtering and/or sorting.
class MultiFilterSortModel : public QSortFilterProxyModel {
Q_OBJECT
public:
@@ -23,6 +26,7 @@ private slots:
void currentDiveChangedSlot(QModelIndex index);
private:
MultiFilterSortModel(QObject *parent = 0);
+ std::unique_ptr<DiveTripModelBase> model;
};
#endif