diff --git a/core/divefilter.cpp b/core/divefilter.cpp index 5765ed673..9f54f5cca 100644 --- a/core/divefilter.cpp +++ b/core/divefilter.cpp @@ -2,6 +2,7 @@ #include "divefilter.h" #include "divelist.h" // for filter_dive +#include "gettextfromc.h" #include "qthelper.h" #include "subsurface-qt/divelistnotifier.h" #ifndef SUBSURFACE_MOBILE @@ -151,6 +152,14 @@ bool DiveFilter::diveSiteMode() const } #endif +QString DiveFilter::shownText() const +{ + if (diveSiteMode() || filterData.validFilter()) + return gettextFromC::tr("%L1/%L2 shown").arg(shown_dives).arg(dive_table.nr); + else + return gettextFromC::tr("%L1 dives").arg(dive_table.nr); +} + void DiveFilter::setFilter(const FilterData &data) { filterData = data; diff --git a/core/divefilter.h b/core/divefilter.h index a0c9b5d2f..3ebb049ef 100644 --- a/core/divefilter.h +++ b/core/divefilter.h @@ -38,6 +38,7 @@ class DiveFilter { public: static DiveFilter *instance(); + QString shownText() const; bool diveSiteMode() const; // returns true if we're filtering on dive site (on mobile always returns false) #ifndef SUBSURFACE_MOBILE const QVector &filteredDiveSites() const; diff --git a/desktop-widgets/filterwidget2.cpp b/desktop-widgets/filterwidget2.cpp index c51bef29a..26cb05c2a 100644 --- a/desktop-widgets/filterwidget2.cpp +++ b/desktop-widgets/filterwidget2.cpp @@ -10,8 +10,7 @@ FilterWidget2::FilterWidget2(QWidget* parent) : QWidget(parent), - ignoreSignal(false), - validFilter(false) + ignoreSignal(false) { ui.setupUi(this); @@ -194,7 +193,6 @@ void FilterWidget2::updateFilter() return; FilterData filterData = createFilterData(); - validFilter = filterData.validFilter(); DiveFilter::instance()->setFilter(filterData); } @@ -227,11 +225,3 @@ void FilterWidget2::addConstraint(filter_constraint_type type) { constraintModel.addConstraint(type); } - -QString FilterWidget2::shownText() -{ - if (validFilter) - return tr("%L1/%L2 shown").arg(shown_dives).arg(dive_table.nr); - else - return tr("%L1 dives").arg(dive_table.nr); -} diff --git a/desktop-widgets/filterwidget2.h b/desktop-widgets/filterwidget2.h index a727c964c..3de16872e 100644 --- a/desktop-widgets/filterwidget2.h +++ b/desktop-widgets/filterwidget2.h @@ -20,7 +20,6 @@ class FilterWidget2 : public QWidget { public: explicit FilterWidget2(QWidget *parent = 0); ~FilterWidget2(); - QString shownText(); protected: void hideEvent(QHideEvent *event) override; @@ -43,7 +42,6 @@ private: bool ignoreSignal; Ui::FilterWidget2 ui; FilterConstraintModel constraintModel; - bool validFilter; void addConstraint(filter_constraint_type type); std::vector> constraintWidgets; FilterData createFilterData() const; diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp index d4bbc1384..1683a4122 100644 --- a/desktop-widgets/mainwindow.cpp +++ b/desktop-widgets/mainwindow.cpp @@ -1536,7 +1536,7 @@ void MainWindow::setTitle() } QString unsaved = (unsavedChanges() ? " *" : ""); - QString shown = QString(" (%1)").arg(filterWidget2.shownText()); + QString shown = QString(" (%1)").arg(DiveFilter::instance()->shownText()); setWindowTitle("Subsurface: " + displayedFilename(existing_filename) + unsaved + shown); }