diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2019-12-11 10:37:50 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-03-10 09:25:57 -0700 |
commit | 7e1ac2167bb531b54974c182f131af8b14c401b1 (patch) | |
tree | f6ce375ebb7cd1d6f8c559fbfa609c5d45867630 /qt-models/mobilelistmodel.h | |
parent | 8e9e536ffdac3c1d9a35331cc3a9073eac1de320 (diff) | |
download | subsurface-7e1ac2167bb531b54974c182f131af8b14c401b1.tar.gz |
mobile/divelist: create memory management class for models
Since we want to add a second model, but not have to manage two models
everywhere, create a class MobileModels that contains both of the models. When
calling reset() on that class, it will reset both of the models, etc.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-models/mobilelistmodel.h')
-rw-r--r-- | qt-models/mobilelistmodel.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/qt-models/mobilelistmodel.h b/qt-models/mobilelistmodel.h index ab0026f32..f5242a3c9 100644 --- a/qt-models/mobilelistmodel.h +++ b/qt-models/mobilelistmodel.h @@ -45,8 +45,6 @@ public: SelectedRole, }; MobileListModel(DiveTripModelBase *source); - static MobileListModel *instance(); - void resetModel(); void expand(int row); void unexpand(); Q_INVOKABLE void toggle(int row); @@ -58,7 +56,6 @@ private: bool visible; int first, last; }; - void connectSignals(); std::vector<IndexRange> rangeStack; QModelIndex sourceIndex(int row, int col, int parentRow = -1) const; int numSubItems() const; @@ -93,6 +90,19 @@ private slots: void changed(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles); }; +// This convenience class provides access to the two mobile models. +// Moreover, it provides an interface to the source trip-model. +class MobileModels { +public: + static MobileModels *instance(); + MobileListModel *listModel(); + void clear(); // Clear all dive data + void reset(); // Reset model after having reloaded the core data +private: + MobileModels(); + DiveTripModelTree source; + MobileListModel lm; +}; // Helper functions - these are actually defined in DiveObjectHelper.cpp. Why declare them here? QString formatSac(const dive *d); |