summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2018-12-16 20:43:01 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-01-19 13:59:24 -0800
commit36fa27050c749717e186c8564d88b11bd53a96c8 (patch)
tree93a3c0248a4406f839cc71455c565c66fe583cf9
parentcc0c4ab2f16612a145064887614e3f86fe125209 (diff)
downloadsubsurface-36fa27050c749717e186c8564d88b11bd53a96c8.tar.gz
Filter: update filterData directly without copying
In FilterWidget2::updateFilter() a new FilterData object is generated and then copied onto the filterData member variable. Instead, modify filterData directly. This seems also more logical from a semantic point of view: Do we want to reset fields that were not set by the user? Contains trivial whitespace fix. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
-rw-r--r--desktop-widgets/filterwidget2.cpp41
-rw-r--r--qt-models/filtermodels.cpp2
-rw-r--r--qt-models/filtermodels.h2
3 files changed, 21 insertions, 24 deletions
diff --git a/desktop-widgets/filterwidget2.cpp b/desktop-widgets/filterwidget2.cpp
index fdf2bb843..4b4e722fe 100644
--- a/desktop-widgets/filterwidget2.cpp
+++ b/desktop-widgets/filterwidget2.cpp
@@ -75,29 +75,26 @@ FilterWidget2::FilterWidget2(QWidget* parent)
void FilterWidget2::updateFilter()
{
- FilterData data;
+ filterData.validFilter = true;
+ 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();
+ filterData.from = ui->from->dateTime();
+ filterData.to = ui->to->dateTime();
+ 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.equipment = ui->equipment->text().split(",", QString::SkipEmptyParts);
+ filterData.invertFilter = ui->invertFilter->isChecked();
+ filterData.logged = ui->logged->isChecked();
+ filterData.planned = ui->planned->isChecked();
- data.validFilter = true;
- data.minVisibility = ui->minVisibility->currentStars();
- data.maxVisibility = ui->maxVisibility->currentStars();
- data.minRating = ui->minRating->currentStars();
- data.maxRating = ui->maxRating->currentStars();
- data.minWaterTemp = ui->minWaterTemp->value();
- data.maxWaterTemp = ui->maxWaterTemp->value();
- data.minAirTemp = ui->minAirTemp->value();
- data.maxWaterTemp = ui->maxWaterTemp->value();
- data.from = ui->from->dateTime();
- data.to = ui->to->dateTime();
- data.tags = ui->tags->text().split(",", QString::SkipEmptyParts);
- data.people = ui->people->text().split(",", QString::SkipEmptyParts);
- 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;
- filterDataChanged(data);
+ filterDataChanged(filterData);
}
void FilterWidget2::updateLogged(int value) {
diff --git a/qt-models/filtermodels.cpp b/qt-models/filtermodels.cpp
index 8609243b2..719467fd2 100644
--- a/qt-models/filtermodels.cpp
+++ b/qt-models/filtermodels.cpp
@@ -228,7 +228,7 @@ bool MultiFilterSortModel::lessThan(const QModelIndex &i1, const QModelIndex &i2
return DiveTripModelBase::instance()->lessThan(i1, i2);
}
-void MultiFilterSortModel::filterDataChanged(const FilterData& data)
+void MultiFilterSortModel::filterDataChanged(const FilterData &data)
{
filterData = data;
myInvalidate();
diff --git a/qt-models/filtermodels.h b/qt-models/filtermodels.h
index b16ce4a3b..5cb130522 100644
--- a/qt-models/filtermodels.h
+++ b/qt-models/filtermodels.h
@@ -51,7 +51,7 @@ slots:
void stopFilterDiveSite();
void filterChanged(const QModelIndex &from, const QModelIndex &to, const QVector<int> &roles);
void resetModel(DiveTripModelBase::Layout layout);
- void filterDataChanged(const FilterData& data);
+ void filterDataChanged(const FilterData &data);
signals:
void filterFinished();