Filter for logged/planned dives

Add filter for dives having a planned dive computer or
a logged dive computer.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
This commit is contained in:
Robert C. Helling 2019-01-01 18:49:56 +01:00
parent c349692d98
commit 123f3ef7ec
8 changed files with 208 additions and 137 deletions

View file

@ -18,6 +18,8 @@ FilterWidget2::FilterWidget2(QWidget* parent)
ui->maxAirTemp->setValue(data.maxAirTemp);
ui->minWaterTemp->setValue(data.minWaterTemp);
ui->maxWaterTemp->setValue(data.maxWaterTemp);
ui->planned->setChecked(data.logged);
ui->planned->setChecked(data.planned);
// TODO: unhide this when we discover how to search for equipment.
ui->equipment->hide();
@ -64,6 +66,11 @@ FilterWidget2::FilterWidget2(QWidget* parent)
connect(ui->location, &QLineEdit::textChanged,
this, &FilterWidget2::updateFilter);
connect(ui->logged, SIGNAL(stateChanged(int)), this, SLOT(updateLogged(int)));
connect(ui->planned, SIGNAL(stateChanged(int)), this, SLOT(updatePlanned(int)));
}
void FilterWidget2::updateFilter()
@ -86,11 +93,26 @@ void FilterWidget2::updateFilter()
data.location = ui->location->text().split(",", QString::SkipEmptyParts);
data.equipment = ui->equipment->text().split(",", QString::SkipEmptyParts);
data.invertFilter = ui->invertFilter->isChecked();
data.logged = ui->logged->isChecked();
data.planned = ui->planned->isChecked();
filterData = data;
emit filterDataChanged(data);
}
void FilterWidget2::updateLogged(int value) {
if (value == Qt::Unchecked)
ui->planned->setChecked(true);
updateFilter();
}
void FilterWidget2::updatePlanned(int value) {
if (value == Qt::Unchecked)
ui->logged->setChecked(true);
updateFilter();
}
void FilterWidget2::showEvent(QShowEvent *event)
{
QWidget::showEvent(event);