diff options
Diffstat (limited to 'qt-models/completionmodels.h')
-rw-r--r-- | qt-models/completionmodels.h | 39 |
1 files changed, 29 insertions, 10 deletions
diff --git a/qt-models/completionmodels.h b/qt-models/completionmodels.h index 24ba67e5f..6d271c348 100644 --- a/qt-models/completionmodels.h +++ b/qt-models/completionmodels.h @@ -2,30 +2,49 @@ #ifndef COMPLETIONMODELS_H #define COMPLETIONMODELS_H +#include "core/subsurface-qt/divelistnotifier.h" #include <QStringListModel> -class BuddyCompletionModel : public QStringListModel { +struct dive; + +class CompletionModelBase : public QStringListModel { Q_OBJECT public: + CompletionModelBase(); +private slots: void updateModel(); + void divesChanged(const QVector<dive *> &dives, DiveField field); +protected: + virtual QStringList getStrings() = 0; + virtual bool relevantDiveField(const DiveField &f) = 0; }; -class DiveMasterCompletionModel : public QStringListModel { +class BuddyCompletionModel final : public CompletionModelBase { Q_OBJECT -public: - void updateModel(); +private: + QStringList getStrings() override; + bool relevantDiveField(const DiveField &f) override; }; -class SuitCompletionModel : public QStringListModel { +class DiveMasterCompletionModel final : public CompletionModelBase { Q_OBJECT -public: - void updateModel(); +private: + QStringList getStrings() override; + bool relevantDiveField(const DiveField &f) override; }; -class TagCompletionModel : public QStringListModel { +class SuitCompletionModel final : public CompletionModelBase { Q_OBJECT -public: - void updateModel(); +private: + QStringList getStrings() override; + bool relevantDiveField(const DiveField &f) override; +}; + +class TagCompletionModel final : public CompletionModelBase { + Q_OBJECT +private: + QStringList getStrings() override; + bool relevantDiveField(const DiveField &f) override; }; #endif // COMPLETIONMODELS_H |