aboutsummaryrefslogtreecommitdiffstats
path: root/qt-models/filtermodels.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qt-models/filtermodels.cpp')
-rw-r--r--qt-models/filtermodels.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/qt-models/filtermodels.cpp b/qt-models/filtermodels.cpp
index 53149eba2..5168e32d8 100644
--- a/qt-models/filtermodels.cpp
+++ b/qt-models/filtermodels.cpp
@@ -79,6 +79,9 @@ MultiFilterSortModel::MultiFilterSortModel(QObject *parent) : QSortFilterProxyMo
{
setFilterKeyColumn(-1); // filter all columns
setFilterCaseSensitivity(Qt::CaseInsensitive);
+
+ connect(&diveListNotifier, &DiveListNotifier::divesAdded, this, &MultiFilterSortModel::divesAdded);
+ connect(&diveListNotifier, &DiveListNotifier::divesDeleted, this, &MultiFilterSortModel::divesDeleted);
}
void MultiFilterSortModel::resetModel(DiveTripModelBase::Layout layout)
@@ -235,3 +238,21 @@ void MultiFilterSortModel::filterDataChanged(const FilterData &data)
filterData = data;
myInvalidate();
}
+
+void MultiFilterSortModel::divesAdded(dive_trip *, bool, const QVector<dive *> &dives)
+{
+ for (dive *d: dives) {
+ if (!d->hidden_by_filter)
+ ++divesDisplayed;
+ }
+ emit countsChanged();
+}
+
+void MultiFilterSortModel::divesDeleted(dive_trip *, bool, const QVector<dive *> &dives)
+{
+ for (dive *d: dives) {
+ if (!d->hidden_by_filter)
+ --divesDisplayed;
+ }
+ emit countsChanged();
+}