From c210bfc0e0205067c4f4274afc7975486e35252a Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Fri, 25 Jan 2019 21:30:43 +0100 Subject: Filter: update counts if dives added / removed Update the filter counts if dives were added removed by the undo commands. The undo commands call into the filter model at the right time so that hidden_by_filter is already set. The filter model keeps track of the counts and emits a signal, which is caught by the widget. Signed-off-by: Berthold Stoeger --- desktop-widgets/filterwidget2.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'desktop-widgets/filterwidget2.cpp') diff --git a/desktop-widgets/filterwidget2.cpp b/desktop-widgets/filterwidget2.cpp index 9eb4f733b..028f774f1 100644 --- a/desktop-widgets/filterwidget2.cpp +++ b/desktop-widgets/filterwidget2.cpp @@ -96,6 +96,10 @@ FilterWidget2::FilterWidget2(QWidget* parent) : QWidget(parent) // Update temperature fields if user changes temperature-units in preferences. connect(qPrefUnits::instance(), &qPrefUnits::temperatureChanged, this, &FilterWidget2::temperatureChanged); connect(qPrefUnits::instance(), &qPrefUnits::unit_systemChanged, this, &FilterWidget2::temperatureChanged); + + // Update counts if dives were added / removed + connect(MultiFilterSortModel::instance(), &MultiFilterSortModel::countsChanged, + this, &FilterWidget2::countsChanged); } void FilterWidget2::temperatureChanged() @@ -161,7 +165,11 @@ void FilterWidget2::hideEvent(QHideEvent *event) void FilterWidget2::filterDataChanged(const FilterData &data) { MultiFilterSortModel::instance()->filterDataChanged(data); + countsChanged(); +} +void FilterWidget2::countsChanged() +{ ui.filterText->setText(tr("%L1/%L2 shown").arg(MultiFilterSortModel::instance()->divesDisplayed) .arg(dive_table.nr)); } -- cgit v1.2.3-70-g09d2