diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2019-12-09 15:37:26 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2019-12-10 18:45:30 -0800 |
commit | 6ec82a3c80e0f362abc59a6df8ea793013f01c65 (patch) | |
tree | f381e928ccbc788b8302b0404f14bcb04af40de9 /qt-models/filtermodels.h | |
parent | 0f417a3bc1f282b34509df1c9295197522344a55 (diff) | |
download | subsurface-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.h | 4 |
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 |