summaryrefslogtreecommitdiffstats
path: root/desktop-widgets/locationinformation.cpp
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-11-17 18:13:55 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-11-19 21:13:40 -0800
commitb76f2071589d6a7f45ec2845afa8b49110da608b (patch)
tree1b7176f4bf706803160c9dc007a7c524dbc59bd2 /desktop-widgets/locationinformation.cpp
parent6d6d10f03a92a9bac5394fc226c398af61f29d66 (diff)
downloadsubsurface-b76f2071589d6a7f45ec2845afa8b49110da608b.tar.gz
Filter: split out filter from model
Split out the actual filtering from the MultiFilterSortModel. Create a DiveFilter class that does the actual filtering. Currently, mobile and desktop have their own version of this class, though ultimately we may want to merge them. The idea here is that the trip-model and undo-commands have direct access to the filter-function and thus can take care of keeping track of the number of shown dives, etc. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'desktop-widgets/locationinformation.cpp')
-rw-r--r--desktop-widgets/locationinformation.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/desktop-widgets/locationinformation.cpp b/desktop-widgets/locationinformation.cpp
index bbf43ec5a..331a8555e 100644
--- a/desktop-widgets/locationinformation.cpp
+++ b/desktop-widgets/locationinformation.cpp
@@ -5,7 +5,7 @@
#include "desktop-widgets/divelistview.h"
#include "core/qthelper.h"
#include "desktop-widgets/mapwidget.h"
-#include "qt-models/filtermodels.h"
+#include "core/divefilter.h"
#include "core/divesitehelpers.h"
#include "desktop-widgets/modeldelegates.h"
#include "core/subsurface-qt/DiveListNotifier.h"
@@ -194,7 +194,7 @@ void LocationInformationWidget::acceptChanges()
MainWindow::instance()->diveList->setEnabled(true);
MainWindow::instance()->setEnabledToolbar(true);
MainWindow::instance()->setApplicationState(ApplicationState::Default);
- MultiFilterSortModel::instance()->stopFilterDiveSites();
+ DiveFilter::instance()->stopFilterDiveSites();
// Subtlety alert: diveSite must be cleared *after* exiting the dive-site mode.
// Exiting dive-site mode removes the focus from the active widget and
@@ -211,7 +211,7 @@ void LocationInformationWidget::initFields(dive_site *ds)
filter_model.set(ds, ds->location);
updateLabels();
enableLocationButtons(dive_site_has_gps_location(ds));
- MultiFilterSortModel::instance()->startFilterDiveSites(QVector<dive_site *>{ ds });
+ DiveFilter::instance()->startFilterDiveSites(QVector<dive_site *>{ ds });
filter_model.invalidate();
} else {
filter_model.set(0, location_t { degrees_t{ 0 }, degrees_t{ 0 } });