mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Filter: implement any-of mode
Add an additional mode to the tags, people and location filters: any_of. Replace the original invert-bool by an enum. Move the common code into a distinct function. Reported-by: Willem Ferguson <willemferguson@zoology.up.ac.za> Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
ce669adc53
commit
e550a788f0
4 changed files with 66 additions and 31 deletions
|
|
@ -15,6 +15,13 @@ struct dive;
|
|||
struct dive_trip;
|
||||
|
||||
struct FilterData {
|
||||
// The mode ids are chosen such that they can be directly converted from / to combobox indices.
|
||||
enum class Mode {
|
||||
ALL_OF = 0,
|
||||
ANY_OF = 1,
|
||||
NONE_OF = 2
|
||||
};
|
||||
|
||||
bool validFilter = false;
|
||||
int minVisibility = 0;
|
||||
int maxVisibility = 5;
|
||||
|
|
@ -35,10 +42,10 @@ struct FilterData {
|
|||
QStringList people;
|
||||
QStringList location;
|
||||
QStringList equipment;
|
||||
bool tagsNegate = false;
|
||||
bool peopleNegate = false;
|
||||
bool locationNegate = false;
|
||||
bool equipmentNegate = false;
|
||||
Mode tagsMode = Mode::ALL_OF;
|
||||
Mode peopleMode = Mode::ALL_OF;
|
||||
Mode locationMode = Mode::ALL_OF;
|
||||
Mode equipmentMode = Mode::ALL_OF;
|
||||
bool logged = true;
|
||||
bool planned = true;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue