filter: connect fulltext filter to frontend

There are now three filter modes:
1) Dive site
2) Fulltext
3) Normal

When doing a fulltext search, get the dives that match the
fulltext filter and then apply the other filters on that list.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2020-02-16 22:31:06 +01:00 committed by Dirk Hohndel
parent 68d6a75ea3
commit 2bd4c6f6ec
3 changed files with 46 additions and 16 deletions

View file

@ -78,6 +78,12 @@ FilterWidget2::FilterWidget2(QWidget* parent) :
connect(ui.toTime, &QDateTimeEdit::timeChanged,
this, &FilterWidget2::updateFilter);
connect(ui.fullText, &QLineEdit::textChanged,
this, &FilterWidget2::updateFilter);
connect(ui.fulltextStringMode, QOverload<int>::of(&QComboBox::currentIndexChanged),
this, &FilterWidget2::updateFilter);
connect(ui.tags, &QLineEdit::textChanged,
this, &FilterWidget2::updateFilter);
@ -170,6 +176,7 @@ void FilterWidget2::clearFilter()
ui.suitMode->setCurrentIndex((int)filterData.suitMode);
ui.dnotesMode->setCurrentIndex((int)filterData.dnotesMode);
ui.equipmentMode->setCurrentIndex((int)filterData.equipmentMode);
ui.fulltextStringMode->setCurrentIndex((int)filterData.fulltextStringMode);
ui.tagsStringMode->setCurrentIndex((int)filterData.tagsStringMode);
ui.peopleStringMode->setCurrentIndex((int)filterData.peopleStringMode);
ui.locationStringMode->setCurrentIndex((int)filterData.locationStringMode);
@ -214,6 +221,7 @@ void FilterWidget2::updateFilter()
filterData.fromTime = ui.fromTime->time();
filterData.toDate = ui.toDate->dateTime();
filterData.toTime = ui.toTime->time();
filterData.fullText = ui.fullText->text();
filterData.tags = ui.tags->text().split(",", QString::SkipEmptyParts);
filterData.people = ui.people->text().split(",", QString::SkipEmptyParts);
filterData.location = ui.location->text().split(",", QString::SkipEmptyParts);
@ -226,6 +234,7 @@ void FilterWidget2::updateFilter()
filterData.suitMode = (FilterData::Mode)ui.suitMode->currentIndex();
filterData.dnotesMode = (FilterData::Mode)ui.dnotesMode->currentIndex();
filterData.equipmentMode = (FilterData::Mode)ui.equipmentMode->currentIndex();
filterData.fulltextStringMode = (StringFilterMode)ui.fulltextStringMode->currentIndex();
filterData.tagsStringMode = (StringFilterMode)ui.tagsStringMode->currentIndex();
filterData.peopleStringMode = (StringFilterMode)ui.peopleStringMode->currentIndex();
filterData.locationStringMode = (StringFilterMode)ui.locationStringMode->currentIndex();