diff options
Diffstat (limited to 'core/qthelper.cpp')
-rw-r--r-- | core/qthelper.cpp | 17 |
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); |