summaryrefslogtreecommitdiffstats
path: root/qt-models
diff options
context:
space:
mode:
Diffstat (limited to 'qt-models')
-rw-r--r--qt-models/divelistmodel.cpp9
-rw-r--r--qt-models/divelistmodel.h3
2 files changed, 8 insertions, 4 deletions
diff --git a/qt-models/divelistmodel.cpp b/qt-models/divelistmodel.cpp
index 05f163505..d1ae4093d 100644
--- a/qt-models/divelistmodel.cpp
+++ b/qt-models/divelistmodel.cpp
@@ -207,13 +207,16 @@ void DiveListSortModel::setSourceModel(QAbstractItemModel *sourceModel)
updateFilterState();
}
-void DiveListSortModel::setFilter(QString f)
+void DiveListSortModel::setFilter(QString f, FilterData::Mode mode)
{
f = f.trimmed();
FilterData data;
if (!f.isEmpty()) {
- data.mode = FilterData::Mode::FULLTEXT;
- data.fullText = f;
+ data.mode = mode;
+ if (mode == FilterData::Mode::FULLTEXT)
+ data.fullText = f;
+ else
+ data.tags = f.split(",", QString::SkipEmptyParts);
}
DiveFilter::instance()->setFilter(data);
CollapsedDiveListSortModel::instance()->updateFilterState();
diff --git a/qt-models/divelistmodel.h b/qt-models/divelistmodel.h
index f09003b5f..b051605ae 100644
--- a/qt-models/divelistmodel.h
+++ b/qt-models/divelistmodel.h
@@ -5,6 +5,7 @@
#include <QAbstractListModel>
#include <QSortFilterProxyModel>
+#include "core/divefilter.h"
#include "core/subsurface-qt/diveobjecthelper.h"
class CollapsedDiveListSortModel : public QSortFilterProxyModel
@@ -48,7 +49,7 @@ public:
void updateFilterState();
public slots:
int getIdxForId(int id);
- void setFilter(QString f);
+ void setFilter(QString f, FilterData::Mode mode);
void resetFilter();
int shown();
protected: