summaryrefslogtreecommitdiffstats
path: root/core/qthelper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/qthelper.cpp')
-rw-r--r--core/qthelper.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/core/qthelper.cpp b/core/qthelper.cpp
index cd9fc7b90..8082db742 100644
--- a/core/qthelper.cpp
+++ b/core/qthelper.cpp
@@ -1403,6 +1403,23 @@ QString getUUID()
return uuidString;
}
+static bool contains(const char *s, const QString &filterstring, Qt::CaseSensitivity cs)
+{
+ return !empty_string(s) && QString(s).contains(filterstring, cs);
+}
+
+bool diveContainsText(const struct dive *d, const QString &filterstring, Qt::CaseSensitivity cs, bool includeNotes)
+{
+ if (!d)
+ return false;
+ return contains(get_dive_location(d), filterstring, cs) ||
+ (d->divetrip && contains(d->divetrip->location, filterstring, cs)) ||
+ contains(d->buddy, filterstring, cs) ||
+ contains(d->divemaster, filterstring, cs) ||
+ contains(d->suit, filterstring, cs) ||
+ get_taglist_string(d->tag_list).contains(filterstring, cs) ||
+ (includeNotes && contains(d->notes, filterstring, cs));
+}
int parse_seabear_header(const char *filename, char **params, int pnr)
{
QFile f(filename);