From b5704ddb57d905e66f5f71558bb07b2f165913a9 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Mon, 24 Dec 2018 10:14:37 +0100 Subject: [PATCH] Cleanup: Remove MultiFilterSortModel::model The source-model was cached in MultiFilterSortModel. For simplicity, remove that and simply access via DiveTripModel::instance(). There is only one instance where the cached model was used: when comparing items for sorting. Thus, in indirection is added in a "hot" path. Nevertheless, this will dwarf against the cost of string comparison. Signed-off-by: Berthold Stoeger --- qt-models/filtermodels.cpp | 7 +++---- qt-models/filtermodels.h | 1 - 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/qt-models/filtermodels.cpp b/qt-models/filtermodels.cpp index 25344b712..785d36123 100644 --- a/qt-models/filtermodels.cpp +++ b/qt-models/filtermodels.cpp @@ -84,12 +84,11 @@ MultiFilterSortModel *MultiFilterSortModel::instance() MultiFilterSortModel::MultiFilterSortModel(QObject *parent) : QSortFilterProxyModel(parent), divesDisplayed(0), - curr_dive_site(NULL), - model(DiveTripModel::instance()) + curr_dive_site(NULL) { setFilterKeyColumn(-1); // filter all columns setFilterCaseSensitivity(Qt::CaseInsensitive); - setSourceModel(model); + setSourceModel(DiveTripModel::instance()); } void MultiFilterSortModel::setLayout(DiveTripModel::Layout layout) @@ -219,7 +218,7 @@ void MultiFilterSortModel::stopFilterDiveSite() bool MultiFilterSortModel::lessThan(const QModelIndex &i1, const QModelIndex &i2) const { // Hand sorting down to the source model. - return model->lessThan(i1, i2); + return DiveTripModel::instance()->lessThan(i1, i2); } void MultiFilterSortModel::filterDataChanged(const FilterData& data) diff --git a/qt-models/filtermodels.h b/qt-models/filtermodels.h index 61b82be33..442bdec5e 100644 --- a/qt-models/filtermodels.h +++ b/qt-models/filtermodels.h @@ -58,7 +58,6 @@ signals: private: MultiFilterSortModel(QObject *parent = 0); struct dive_site *curr_dive_site; - DiveTripModel *model; FilterData filterData; };