diff options
author | Tomaz Canabrava <tcanabrava@kde.org> | 2018-12-06 20:07:47 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2018-12-14 01:05:18 +0800 |
commit | 81bb6086c0e7f7ba6d4100a49cc9cf32556caaaf (patch) | |
tree | 478e59d052d3fddd564c7bbabbd44d8544b276ca /qt-models/filtermodels.h | |
parent | 89413c5f0779813dab1b63e24aa4b34aebc1e28c (diff) | |
download | subsurface-81bb6086c0e7f7ba6d4100a49cc9cf32556caaaf.tar.gz |
Struct FilterData
The idea is that this struct will have all the needed data
that will be passed to the filter model. Everything that happens
on the filterwidget will fill out this struct, then forward it
to the model, that in turn will activate the filter hiding
some of the dives that matches on your divelist.
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Diffstat (limited to 'qt-models/filtermodels.h')
-rw-r--r-- | qt-models/filtermodels.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/qt-models/filtermodels.h b/qt-models/filtermodels.h index 8830e99c3..6956146e1 100644 --- a/qt-models/filtermodels.h +++ b/qt-models/filtermodels.h @@ -6,6 +6,8 @@ #include <QStringListModel> #include <QSortFilterProxyModel> +#include <QDateTime> + #include <stdint.h> #include <vector> @@ -13,6 +15,25 @@ struct dive; struct dive_trip; class DiveTripModel; +struct FilterData { + bool validFilter = false; + int minVisibility = 0; + int maxVisibility = 5; + int minRating = 0; + int maxRating = 5; + double minWaterTemp = 0; + double maxWaterTemp = 100; + double minAirTemp = 0; + double maxAirTemp = 100; + QDateTime from; + QDateTime to = QDateTime::currentDateTime(); + QStringList tags; + QStringList people; + QStringList location; + QStringList equipment; + bool invertFilter; +}; + class FilterModelBase : public QAbstractListModel { Q_OBJECT private: @@ -137,14 +158,17 @@ slots: void stopFilterDiveSite(); void filterChanged(const QModelIndex &from, const QModelIndex &to, const QVector<int> &roles); void setLayout(DiveTripModel::Layout layout); + void filterDataChanged(const FilterData& data); signals: void filterFinished(); + private: MultiFilterSortModel(QObject *parent = 0); QList<FilterModelBase *> models; struct dive_site *curr_dive_site; DiveTripModel *model; + FilterData filterData; }; #endif |