diff options
Diffstat (limited to 'qt-models/filtermodels.h')
-rw-r--r-- | qt-models/filtermodels.h | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/qt-models/filtermodels.h b/qt-models/filtermodels.h index 6956146e1..61b82be33 100644 --- a/qt-models/filtermodels.h +++ b/qt-models/filtermodels.h @@ -34,119 +34,11 @@ struct FilterData { bool invertFilter; }; -class FilterModelBase : public QAbstractListModel { - Q_OBJECT -private: - int findInsertionIndex(const QString &name); -protected: - struct Item { - QString name; - bool checked; - int count; - }; - std::vector<Item> items; - int indexOf(const QString &name) const; - void addItem(const QString &name, bool checked, int count); - int rowCount(const QModelIndex &parent = QModelIndex()) const override; - void decreaseCount(const QString &d); - void increaseCount(const QString &d); -public: - virtual bool doFilter(const dive *d) const = 0; - virtual void diveAdded(const dive *d) = 0; - virtual void diveDeleted(const dive *d) = 0; - void clearFilter(); - void selectAll(); - void invertSelection(); - bool anyChecked; - bool negate; -public -slots: - void setNegate(bool negate); - void changeName(const QString &oldName, const QString &newName); -protected: - explicit FilterModelBase(QObject *parent = 0); - void updateList(QStringList &new_list); - virtual int countDives(const char *) const = 0; -private: - Qt::ItemFlags flags(const QModelIndex &index) const; - QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; - bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); -}; - -class TagFilterModel : public FilterModelBase { - Q_OBJECT -public: - static TagFilterModel *instance(); - bool doFilter(const dive *d) const; -public -slots: - void repopulate(); - -private: - explicit TagFilterModel(QObject *parent = 0); - int countDives(const char *) const; - void diveAdded(const dive *d); - void diveDeleted(const dive *d); -}; - -class BuddyFilterModel : public FilterModelBase { - Q_OBJECT -public: - static BuddyFilterModel *instance(); - bool doFilter(const dive *d) const; -public -slots: - void repopulate(); - -private: - explicit BuddyFilterModel(QObject *parent = 0); - int countDives(const char *) const; - void diveAdded(const dive *d); - void diveDeleted(const dive *d); -}; - -class LocationFilterModel : public FilterModelBase { - Q_OBJECT -public: - static LocationFilterModel *instance(); - bool doFilter(const dive *d) const; -public -slots: - void repopulate(); - void addName(const QString &newName); - -private: - explicit LocationFilterModel(QObject *parent = 0); - int countDives(const char *) const; - void diveAdded(const dive *d); - void diveDeleted(const dive *d); -}; - -class SuitsFilterModel : public FilterModelBase { - Q_OBJECT -public: - static SuitsFilterModel *instance(); - bool doFilter(const dive *d) const; -public -slots: - void repopulate(); - -private: - explicit SuitsFilterModel(QObject *parent = 0); - int countDives(const char *) const; - void diveAdded(const dive *d); - void diveDeleted(const dive *d); -}; - class MultiFilterSortModel : public QSortFilterProxyModel { Q_OBJECT public: static MultiFilterSortModel *instance(); bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override; - void addFilterModel(FilterModelBase *model); - void removeFilterModel(FilterModelBase *model); - void divesAdded(const QVector<dive *> &dives); - void divesDeleted(const QVector<dive *> &dives); bool showDive(const struct dive *d) const; int divesDisplayed; bool lessThan(const QModelIndex &, const QModelIndex &) const override; @@ -165,7 +57,6 @@ signals: private: MultiFilterSortModel(QObject *parent = 0); - QList<FilterModelBase *> models; struct dive_site *curr_dive_site; DiveTripModel *model; FilterData filterData; |