Filter panel: add suit and notes search fields

All the field in the Notes Panel of the main window are now supported.
This needs some testing especially for the Notes field that may contain
markup. It appears ok to me for single term searches. One would like
to think about the default search option for the Notes.
There is a vertical spacer in the Filter panel that I moved downwards
and whose function I am not quite sure of.

[Dirk Hohndel: small adjustments]

Signed-off-by: willemferguson <willemferguson@zoology.up.ac.za>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Willem Ferguson 2019-02-28 15:35:34 -08:00 committed by Dirk Hohndel
parent 01e8a54f58
commit 10e7835290
4 changed files with 113 additions and 2 deletions

View file

@ -99,6 +99,18 @@ FilterWidget2::FilterWidget2(QWidget* parent) :
connect(ui.locationMode, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
this, &FilterWidget2::updateFilter);
connect(ui.suit, &QLineEdit::textChanged,
this, &FilterWidget2::updateFilter);
connect(ui.suitMode, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
this, &FilterWidget2::updateFilter);
connect(ui.dnotes, &QLineEdit::textChanged,
this, &FilterWidget2::updateFilter);
connect(ui.dnotesMode, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
this, &FilterWidget2::updateFilter);
connect(ui.logged, &QCheckBox::stateChanged,
this, &FilterWidget2::updateLogged);
@ -136,6 +148,8 @@ void FilterWidget2::clearFilter()
ui.planned->setChecked(filterData.planned);
ui.people->clear();
ui.location->clear();
ui.suit->clear();
ui.dnotes->clear();
ui.equipment->clear();
ui.tags->clear();
ui.fromDate->setDate(filterData.fromDate.date());
@ -145,6 +159,8 @@ void FilterWidget2::clearFilter()
ui.tagsMode->setCurrentIndex((int)filterData.tagsMode);
ui.peopleMode->setCurrentIndex((int)filterData.peopleMode);
ui.locationMode->setCurrentIndex((int)filterData.locationMode);
ui.suitMode->setCurrentIndex((int)filterData.suitMode);
ui.dnotesMode->setCurrentIndex((int)filterData.dnotesMode);
ui.equipmentMode->setCurrentIndex((int)filterData.equipmentMode);
ignoreSignal = false;
@ -187,10 +203,14 @@ void FilterWidget2::updateFilter()
filterData.tags = ui.tags->text().split(",", QString::SkipEmptyParts);
filterData.people = ui.people->text().split(",", QString::SkipEmptyParts);
filterData.location = ui.location->text().split(",", QString::SkipEmptyParts);
filterData.suit = ui.suit->text().split(",", QString::SkipEmptyParts);
filterData.dnotes = ui.dnotes->text().split(",", QString::SkipEmptyParts);
filterData.equipment = ui.equipment->text().split(",", QString::SkipEmptyParts);
filterData.tagsMode = (FilterData::Mode)ui.tagsMode->currentIndex();
filterData.peopleMode = (FilterData::Mode)ui.peopleMode->currentIndex();
filterData.locationMode = (FilterData::Mode)ui.locationMode->currentIndex();
filterData.suitMode = (FilterData::Mode)ui.suitMode->currentIndex();
filterData.dnotesMode = (FilterData::Mode)ui.dnotesMode->currentIndex();
filterData.equipmentMode = (FilterData::Mode)ui.equipmentMode->currentIndex();
filterData.logged = ui.logged->isChecked();
filterData.planned = ui.planned->isChecked();