| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | #include "desktop-widgets/filterwidget2.h"
 | 
					
						
							|  |  |  | #include "desktop-widgets/simplewidgets.h"
 | 
					
						
							| 
									
										
										
										
											2019-01-25 22:41:07 +01:00
										 |  |  | #include "desktop-widgets/mainwindow.h"
 | 
					
						
							| 
									
										
										
										
											2019-01-20 21:01:00 +01:00
										 |  |  | #include "core/qthelper.h"
 | 
					
						
							| 
									
										
										
										
											2019-11-17 16:23:00 +01:00
										 |  |  | #include "core/divelist.h"
 | 
					
						
							| 
									
										
										
										
											2019-01-20 21:01:00 +01:00
										 |  |  | #include "core/settings/qPrefUnit.h"
 | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | #include <QDoubleSpinBox>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-18 12:43:34 -08:00
										 |  |  | FilterWidget2::FilterWidget2(QWidget* parent) : | 
					
						
							|  |  |  | 	QWidget(parent), | 
					
						
							|  |  |  | 	ignoreSignal(false) | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2019-01-17 23:01:57 +01:00
										 |  |  | 	ui.setupUi(this); | 
					
						
							| 
									
										
										
										
											2018-12-06 20:07:47 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	FilterData data; | 
					
						
							| 
									
										
										
										
											2019-01-20 21:15:46 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	// Use default values to set minimum and maximum air and water temperature.
 | 
					
						
							|  |  |  | 	ui.minAirTemp->setRange(data.minAirTemp, data.maxAirTemp); | 
					
						
							|  |  |  | 	ui.maxAirTemp->setRange(data.minAirTemp, data.maxAirTemp); | 
					
						
							|  |  |  | 	ui.minWaterTemp->setRange(data.minWaterTemp, data.maxWaterTemp); | 
					
						
							|  |  |  | 	ui.maxWaterTemp->setRange(data.minWaterTemp, data.maxWaterTemp); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-16 15:23:39 +01:00
										 |  |  | 	// TODO: unhide this when we discover how to search for equipment.
 | 
					
						
							| 
									
										
										
										
											2019-01-17 23:01:57 +01:00
										 |  |  | 	ui.equipment->hide(); | 
					
						
							| 
									
										
										
										
											2019-01-26 14:02:09 -08:00
										 |  |  | 	ui.equipmentMode->hide(); | 
					
						
							| 
									
										
										
										
											2019-01-17 23:01:57 +01:00
										 |  |  | 	ui.labelEquipment->hide(); | 
					
						
							| 
									
										
										
										
											2018-11-16 15:23:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-20 17:00:56 +01:00
										 |  |  | 	ui.fromDate->setDisplayFormat(prefs.date_format); | 
					
						
							|  |  |  | 	ui.fromTime->setDisplayFormat(prefs.time_format); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	ui.toDate->setDisplayFormat(prefs.date_format); | 
					
						
							|  |  |  | 	ui.toTime->setDisplayFormat(prefs.time_format); | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-20 21:01:00 +01:00
										 |  |  | 	// Initialize temperature fields to display correct unit.
 | 
					
						
							|  |  |  | 	temperatureChanged(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-25 22:11:30 +01:00
										 |  |  | 	connect(ui.clear, &QToolButton::clicked, | 
					
						
							|  |  |  | 		this, &FilterWidget2::clearFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-25 22:41:07 +01:00
										 |  |  | 	connect(ui.close, &QToolButton::clicked, | 
					
						
							|  |  |  | 		this, &FilterWidget2::closeFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-17 23:01:57 +01:00
										 |  |  | 	connect(ui.maxRating, &StarWidget::valueChanged, | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-17 23:01:57 +01:00
										 |  |  | 	connect(ui.minRating, &StarWidget::valueChanged, | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-17 23:01:57 +01:00
										 |  |  | 	connect(ui.maxVisibility, &StarWidget::valueChanged, | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-17 23:01:57 +01:00
										 |  |  | 	connect(ui.minVisibility, &StarWidget::valueChanged, | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-04 22:00:38 +02:00
										 |  |  | 	connect(ui.maxAirTemp, QOverload<double>::of(&QDoubleSpinBox::valueChanged), | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-04 22:00:38 +02:00
										 |  |  | 	connect(ui.minAirTemp, QOverload<double>::of(&QDoubleSpinBox::valueChanged), | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-04 22:00:38 +02:00
										 |  |  | 	connect(ui.maxWaterTemp, QOverload<double>::of(&QDoubleSpinBox::valueChanged), | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-04 22:00:38 +02:00
										 |  |  | 	connect(ui.minWaterTemp, QOverload<double>::of(&QDoubleSpinBox::valueChanged), | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-20 17:00:56 +01:00
										 |  |  | 	connect(ui.fromDate, &QDateTimeEdit::dateChanged, | 
					
						
							|  |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	connect(ui.fromTime, &QDateTimeEdit::timeChanged, | 
					
						
							|  |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	connect(ui.toDate, &QDateTimeEdit::dateChanged, | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-20 17:00:56 +01:00
										 |  |  | 	connect(ui.toTime, &QDateTimeEdit::timeChanged, | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-17 23:01:57 +01:00
										 |  |  | 	connect(ui.tags, &QLineEdit::textChanged, | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-04 22:00:38 +02:00
										 |  |  | 	connect(ui.tagsMode, QOverload<int>::of(&QComboBox::currentIndexChanged), | 
					
						
							| 
									
										
										
										
											2019-01-22 09:32:39 +01:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-17 23:01:57 +01:00
										 |  |  | 	connect(ui.people, &QLineEdit::textChanged, | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-04 22:00:38 +02:00
										 |  |  | 	connect(ui.peopleMode, QOverload<int>::of(&QComboBox::currentIndexChanged), | 
					
						
							| 
									
										
										
										
											2019-01-22 09:32:39 +01:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-17 23:01:57 +01:00
										 |  |  | 	connect(ui.location, &QLineEdit::textChanged, | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							| 
									
										
										
										
											2019-01-01 18:49:56 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-04 22:00:38 +02:00
										 |  |  | 	connect(ui.locationMode, QOverload<int>::of(&QComboBox::currentIndexChanged), | 
					
						
							| 
									
										
										
										
											2019-01-22 09:32:39 +01:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-28 15:35:34 -08:00
										 |  |  | 	connect(ui.suit, &QLineEdit::textChanged, | 
					
						
							|  |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-04 22:00:38 +02:00
										 |  |  | 	connect(ui.suitMode, QOverload<int>::of(&QComboBox::currentIndexChanged), | 
					
						
							| 
									
										
										
										
											2019-02-28 15:35:34 -08:00
										 |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	connect(ui.dnotes, &QLineEdit::textChanged, | 
					
						
							|  |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	connect(ui.dnotesMode, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), | 
					
						
							|  |  |  | 		this, &FilterWidget2::updateFilter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-22 09:38:57 +01:00
										 |  |  | 	connect(ui.logged, &QCheckBox::stateChanged, | 
					
						
							|  |  |  | 		this, &FilterWidget2::updateLogged); | 
					
						
							| 
									
										
										
										
											2019-01-01 18:49:56 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-22 09:38:57 +01:00
										 |  |  | 	connect(ui.planned, &QCheckBox::stateChanged, | 
					
						
							|  |  |  | 		this, &FilterWidget2::updatePlanned); | 
					
						
							| 
									
										
										
										
											2019-01-20 21:01:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	// Update temperature fields if user changes temperature-units in preferences.
 | 
					
						
							| 
									
										
										
										
											2019-01-22 09:38:57 +01:00
										 |  |  | 	connect(qPrefUnits::instance(), &qPrefUnits::temperatureChanged, | 
					
						
							|  |  |  | 		this, &FilterWidget2::temperatureChanged); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	connect(qPrefUnits::instance(), &qPrefUnits::unit_systemChanged, | 
					
						
							|  |  |  | 		this, &FilterWidget2::temperatureChanged); | 
					
						
							| 
									
										
										
										
											2019-01-25 21:30:43 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-25 22:11:30 +01:00
										 |  |  | 	// Reset all fields.
 | 
					
						
							|  |  |  | 	clearFilter(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void FilterWidget2::clearFilter() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	ignoreSignal = true; // Prevent signals to force filter recalculation
 | 
					
						
							|  |  |  | 	filterData = FilterData(); | 
					
						
							|  |  |  | 	ui.minRating->setCurrentStars(filterData.minRating); | 
					
						
							|  |  |  | 	ui.maxRating->setCurrentStars(filterData.maxRating); | 
					
						
							|  |  |  | 	ui.minVisibility->setCurrentStars(filterData.minVisibility); | 
					
						
							|  |  |  | 	ui.maxVisibility->setCurrentStars(filterData.maxVisibility); | 
					
						
							|  |  |  | 	ui.minAirTemp->setValue(filterData.minAirTemp); | 
					
						
							|  |  |  | 	ui.maxAirTemp->setValue(filterData.maxAirTemp); | 
					
						
							|  |  |  | 	ui.minWaterTemp->setValue(filterData.minWaterTemp); | 
					
						
							|  |  |  | 	ui.maxWaterTemp->setValue(filterData.maxWaterTemp); | 
					
						
							|  |  |  | 	ui.planned->setChecked(filterData.logged); | 
					
						
							|  |  |  | 	ui.planned->setChecked(filterData.planned); | 
					
						
							|  |  |  | 	ui.people->clear(); | 
					
						
							|  |  |  | 	ui.location->clear(); | 
					
						
							| 
									
										
										
										
											2019-02-28 15:35:34 -08:00
										 |  |  | 	ui.suit->clear(); | 
					
						
							|  |  |  | 	ui.dnotes->clear(); | 
					
						
							| 
									
										
										
										
											2019-01-25 22:11:30 +01:00
										 |  |  | 	ui.equipment->clear(); | 
					
						
							|  |  |  | 	ui.tags->clear(); | 
					
						
							|  |  |  | 	ui.fromDate->setDate(filterData.fromDate.date()); | 
					
						
							|  |  |  | 	ui.fromTime->setTime(filterData.fromTime); | 
					
						
							|  |  |  | 	ui.toDate->setDate(filterData.toDate.date()); | 
					
						
							|  |  |  | 	ui.toTime->setTime(filterData.toTime); | 
					
						
							| 
									
										
										
										
											2019-02-19 16:31:21 +01:00
										 |  |  | 	ui.tagsMode->setCurrentIndex((int)filterData.tagsMode); | 
					
						
							|  |  |  | 	ui.peopleMode->setCurrentIndex((int)filterData.peopleMode); | 
					
						
							|  |  |  | 	ui.locationMode->setCurrentIndex((int)filterData.locationMode); | 
					
						
							| 
									
										
										
										
											2019-02-28 15:35:34 -08:00
										 |  |  | 	ui.suitMode->setCurrentIndex((int)filterData.suitMode); | 
					
						
							|  |  |  | 	ui.dnotesMode->setCurrentIndex((int)filterData.dnotesMode); | 
					
						
							| 
									
										
										
										
											2019-02-19 16:31:21 +01:00
										 |  |  | 	ui.equipmentMode->setCurrentIndex((int)filterData.equipmentMode); | 
					
						
							| 
									
										
										
										
											2019-01-26 14:02:09 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-25 22:11:30 +01:00
										 |  |  | 	ignoreSignal = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	filterDataChanged(filterData); | 
					
						
							| 
									
										
										
										
											2019-01-20 21:01:00 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-25 22:41:07 +01:00
										 |  |  | void FilterWidget2::closeFilter() | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2019-05-10 19:51:43 +02:00
										 |  |  | 	MainWindow::instance()->setApplicationState(ApplicationState::Default); | 
					
						
							| 
									
										
										
										
											2019-01-25 22:41:07 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-20 21:01:00 +01:00
										 |  |  | void FilterWidget2::temperatureChanged() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	QString temp = get_temp_unit(); | 
					
						
							|  |  |  | 	ui.minAirTemp->setSuffix(temp); | 
					
						
							|  |  |  | 	ui.maxAirTemp->setSuffix(temp); | 
					
						
							|  |  |  | 	ui.minWaterTemp->setSuffix(temp); | 
					
						
							|  |  |  | 	ui.maxWaterTemp->setSuffix(temp); | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void FilterWidget2::updateFilter() | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2019-01-25 22:11:30 +01:00
										 |  |  | 	if (ignoreSignal) | 
					
						
							|  |  |  | 		return; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-16 20:43:01 +01:00
										 |  |  | 	filterData.validFilter = true; | 
					
						
							| 
									
										
										
										
											2019-01-17 23:01:57 +01:00
										 |  |  | 	filterData.minVisibility = ui.minVisibility->currentStars(); | 
					
						
							|  |  |  | 	filterData.maxVisibility = ui.maxVisibility->currentStars(); | 
					
						
							|  |  |  | 	filterData.minRating = ui.minRating->currentStars(); | 
					
						
							|  |  |  | 	filterData.maxRating = ui.maxRating->currentStars(); | 
					
						
							|  |  |  | 	filterData.minWaterTemp = ui.minWaterTemp->value(); | 
					
						
							|  |  |  | 	filterData.maxWaterTemp = ui.maxWaterTemp->value(); | 
					
						
							|  |  |  | 	filterData.minAirTemp = ui.minAirTemp->value(); | 
					
						
							|  |  |  | 	filterData.maxWaterTemp = ui.maxWaterTemp->value(); | 
					
						
							| 
									
										
										
										
											2019-01-20 17:00:56 +01:00
										 |  |  | 	filterData.fromDate = ui.fromDate->dateTime(); | 
					
						
							|  |  |  | 	filterData.fromTime = ui.fromTime->time(); | 
					
						
							|  |  |  | 	filterData.toDate = ui.toDate->dateTime(); | 
					
						
							|  |  |  | 	filterData.toTime = ui.toTime->time(); | 
					
						
							| 
									
										
										
										
											2019-01-17 23:01:57 +01:00
										 |  |  | 	filterData.tags = ui.tags->text().split(",", QString::SkipEmptyParts); | 
					
						
							|  |  |  | 	filterData.people = ui.people->text().split(",", QString::SkipEmptyParts); | 
					
						
							|  |  |  | 	filterData.location = ui.location->text().split(",", QString::SkipEmptyParts); | 
					
						
							| 
									
										
										
										
											2019-02-28 15:35:34 -08:00
										 |  |  | 	filterData.suit = ui.suit->text().split(",", QString::SkipEmptyParts); | 
					
						
							|  |  |  | 	filterData.dnotes = ui.dnotes->text().split(",", QString::SkipEmptyParts); | 
					
						
							| 
									
										
										
										
											2019-01-17 23:01:57 +01:00
										 |  |  | 	filterData.equipment = ui.equipment->text().split(",", QString::SkipEmptyParts); | 
					
						
							| 
									
										
										
										
											2019-02-19 16:31:21 +01:00
										 |  |  | 	filterData.tagsMode = (FilterData::Mode)ui.tagsMode->currentIndex(); | 
					
						
							|  |  |  | 	filterData.peopleMode = (FilterData::Mode)ui.peopleMode->currentIndex(); | 
					
						
							|  |  |  | 	filterData.locationMode = (FilterData::Mode)ui.locationMode->currentIndex(); | 
					
						
							| 
									
										
										
										
											2019-02-28 15:35:34 -08:00
										 |  |  | 	filterData.suitMode = (FilterData::Mode)ui.suitMode->currentIndex(); | 
					
						
							|  |  |  | 	filterData.dnotesMode = (FilterData::Mode)ui.dnotesMode->currentIndex(); | 
					
						
							| 
									
										
										
										
											2019-02-19 16:31:21 +01:00
										 |  |  | 	filterData.equipmentMode = (FilterData::Mode)ui.equipmentMode->currentIndex(); | 
					
						
							| 
									
										
										
										
											2019-01-17 23:01:57 +01:00
										 |  |  | 	filterData.logged = ui.logged->isChecked(); | 
					
						
							|  |  |  | 	filterData.planned = ui.planned->isChecked(); | 
					
						
							| 
									
										
										
										
											2018-12-06 20:07:47 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-16 20:43:01 +01:00
										 |  |  | 	filterDataChanged(filterData); | 
					
						
							| 
									
										
										
										
											2018-11-16 15:24:11 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-23 18:31:02 +01:00
										 |  |  | void FilterWidget2::updateLogged(int value) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2019-01-01 18:49:56 +01:00
										 |  |  | 	if (value == Qt::Unchecked) | 
					
						
							| 
									
										
										
										
											2019-01-17 23:01:57 +01:00
										 |  |  | 		ui.planned->setChecked(true); | 
					
						
							| 
									
										
										
										
											2019-01-01 18:49:56 +01:00
										 |  |  | 	updateFilter(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-23 18:31:02 +01:00
										 |  |  | void FilterWidget2::updatePlanned(int value) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2019-01-01 18:49:56 +01:00
										 |  |  | 	if (value == Qt::Unchecked) | 
					
						
							| 
									
										
										
										
											2019-01-17 23:01:57 +01:00
										 |  |  | 		ui.logged->setChecked(true); | 
					
						
							| 
									
										
										
										
											2019-01-01 18:49:56 +01:00
										 |  |  | 	updateFilter(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-16 15:24:11 +01:00
										 |  |  | void FilterWidget2::showEvent(QShowEvent *event) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	QWidget::showEvent(event); | 
					
						
							| 
									
										
										
										
											2018-12-16 20:33:37 +01:00
										 |  |  | 	filterDataChanged(filterData); | 
					
						
							| 
									
										
										
										
											2018-11-16 15:24:11 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void FilterWidget2::hideEvent(QHideEvent *event) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	QWidget::hideEvent(event); | 
					
						
							| 
									
										
										
										
											2018-12-16 20:33:37 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void FilterWidget2::filterDataChanged(const FilterData &data) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2019-11-17 18:13:55 +01:00
										 |  |  | 	DiveFilter::instance()->setFilter(data); | 
					
						
							| 
									
										
										
										
											2019-02-18 12:47:20 -08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | QString FilterWidget2::shownText() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	if (isActive()) | 
					
						
							| 
									
										
										
										
											2019-11-17 16:23:00 +01:00
										 |  |  | 		return tr("%L1/%L2 shown").arg(shown_dives).arg(dive_table.nr); | 
					
						
							| 
									
										
										
										
											2019-02-18 12:47:20 -08:00
										 |  |  | 	else | 
					
						
							|  |  |  | 		return tr("%L1 dives").arg(dive_table.nr); | 
					
						
							| 
									
										
										
										
											2018-10-13 11:52:08 +02:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2019-02-18 12:43:34 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | bool FilterWidget2::isActive() const | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return filterData.validFilter; | 
					
						
							|  |  |  | } |