summaryrefslogtreecommitdiffstats
path: root/qt-models/divelistmodel.cpp
diff options
context:
space:
mode:
authorGravatar Jan Mulder <jlmulder@xs4all.nl>2018-02-04 16:46:03 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2018-10-23 22:45:29 +0100
commit0bc0b6bfe8666744611f8afa775a58b95e686652 (patch)
treec5e1d70743c0c842759c827e46a6267d004c9541 /qt-models/divelistmodel.cpp
parentf1bb2c847896689a5e70b6f423b1cfdc923824de (diff)
downloadsubsurface-0bc0b6bfe8666744611f8afa775a58b95e686652.tar.gz
Mobile/filtering: first attempt to filter on dive site
[Dirk Hohndel: this is the starting point of my following commits, I decided to leave it in place to give Jan credit for the work he did on figuring out some of the plumbing needed to get things to work] Signed-off-by: Jan Mulder <jlmulder@xs4all.nl> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-models/divelistmodel.cpp')
-rw-r--r--qt-models/divelistmodel.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/qt-models/divelistmodel.cpp b/qt-models/divelistmodel.cpp
index 8dc119ad8..76c0db7e3 100644
--- a/qt-models/divelistmodel.cpp
+++ b/qt-models/divelistmodel.cpp
@@ -8,6 +8,17 @@ DiveListSortModel::DiveListSortModel(QObject *parent) : QSortFilterProxyModel(pa
}
+void DiveListSortModel::setFilter(QString f)
+{
+ setFilterRole(DiveListModel::DiveSiteRole);
+ setFilterRegExp(f);
+}
+
+void DiveListSortModel::resetFilter()
+{
+ setFilterRegExp("");
+}
+
int DiveListSortModel::getDiveId(int idx)
{
DiveListModel *mySourceModel = qobject_cast<DiveListModel *>(sourceModel());
@@ -151,6 +162,7 @@ QVariant DiveListModel::data(const QModelIndex &index, int role) const
switch(role) {
case DiveRole: return QVariant::fromValue<QObject*>(curr_dive);
case DiveDateRole: return (qlonglong)curr_dive->timestamp();
+ case DiveSiteRole: return curr_dive->location();
}
return QVariant();
@@ -161,6 +173,7 @@ QHash<int, QByteArray> DiveListModel::roleNames() const
QHash<int, QByteArray> roles;
roles[DiveRole] = "dive";
roles[DiveDateRole] = "date";
+ roles[DiveSiteRole] = "site";
return roles;
}