Filter: move recalculation of filter from FilterModel to TripModel

The way this was accessed via Qt's model semantics was horrible.
This gives arguably more readable code, since we don't have to
shoehorn things through QVariants.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2019-11-17 19:53:18 +01:00 committed by Dirk Hohndel
parent 9ffafbc326
commit 3003c6e1ee
8 changed files with 79 additions and 153 deletions

View file

@ -193,7 +193,7 @@ void DiveFilter::startFilterDiveSites(QVector<dive_site *> ds)
// When switching into dive site mode, reload the dive sites.
// We won't do this in myInvalidate() once we are in dive site mode.
MapWidget::instance()->reload();
MultiFilterSortModel::instance()->myInvalidate();
DiveTripModelBase::instance()->recalculateFilter();
}
}
@ -202,7 +202,7 @@ void DiveFilter::stopFilterDiveSites()
if (--diveSiteRefCount > 0)
return;
dive_sites.clear();
MultiFilterSortModel::instance()->myInvalidate();
DiveTripModelBase::instance()->recalculateFilter();
MapWidget::instance()->reload();
}
@ -215,7 +215,7 @@ void DiveFilter::setFilterDiveSite(QVector<dive_site *> ds)
return;
dive_sites = ds;
MultiFilterSortModel::instance()->myInvalidate();
DiveTripModelBase::instance()->recalculateFilter();
MapWidget::instance()->setSelected(dive_sites);
MainWindow::instance()->diveList->expandAll();
}
@ -233,6 +233,6 @@ bool DiveFilter::diveSiteMode() const
void DiveFilter::setFilter(const FilterData &data)
{
filterData = data;
MultiFilterSortModel::instance()->myInvalidate();
DiveTripModelBase::instance()->recalculateFilter();
}
#endif // SUBSURFACE_MOBILE

View file

@ -94,6 +94,7 @@ signals:
// Filter-related signals
void numShownChanged();
void filterReset();
// This signal is emited every time a command is executed.
// This is used to hide an old multi-dives-edited warning message.