From 6137e0bc60691f4b6542cd6bc97fe0106126f728 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Mon, 8 Oct 2018 19:29:47 +0200 Subject: Cleanup: Remove SsrfFilterSortProxyModel SsrfFilterSortProxyModel was a thin wrapper around QFilterSortProxyModel, which was intended as a convenience class to avoid deriving from the latter. The filter and sort functions were replaced by simple function pointers. Unfortunately, by using function-pointers, the whole thing was rather weak as these functions do not have state. The last user was removed in ac8dcd7f65b78958587ba025280ed4c529b0b519. Therefore, remove the whole class. Signed-off-by: Berthold Stoeger --- qt-models/CMakeLists.txt | 1 - qt-models/divelocationmodel.h | 2 +- qt-models/ssrfsortfilterproxymodel.cpp | 45 ---------------------------------- qt-models/ssrfsortfilterproxymodel.h | 34 ------------------------- 4 files changed, 1 insertion(+), 81 deletions(-) delete mode 100644 qt-models/ssrfsortfilterproxymodel.cpp delete mode 100644 qt-models/ssrfsortfilterproxymodel.h (limited to 'qt-models') diff --git a/qt-models/CMakeLists.txt b/qt-models/CMakeLists.txt index dc840e059..896ee9930 100644 --- a/qt-models/CMakeLists.txt +++ b/qt-models/CMakeLists.txt @@ -26,7 +26,6 @@ set(SUBSURFACE_DESKTOP_MODELS_LIB_SRCS divetripmodel.cpp diveplannermodel.cpp divecomputerextradatamodel.cpp - ssrfsortfilterproxymodel.cpp ) # models exclusively used in mobile builds diff --git a/qt-models/divelocationmodel.h b/qt-models/divelocationmodel.h index 048b2c0a3..fe78854b9 100644 --- a/qt-models/divelocationmodel.h +++ b/qt-models/divelocationmodel.h @@ -4,9 +4,9 @@ #include #include +#include #include #include "core/units.h" -#include "ssrfsortfilterproxymodel.h" #define RECENTLY_ADDED_DIVESITE 1 diff --git a/qt-models/ssrfsortfilterproxymodel.cpp b/qt-models/ssrfsortfilterproxymodel.cpp deleted file mode 100644 index e11b7f569..000000000 --- a/qt-models/ssrfsortfilterproxymodel.cpp +++ /dev/null @@ -1,45 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -#include "ssrfsortfilterproxymodel.h" - -SsrfSortFilterProxyModel::SsrfSortFilterProxyModel(QObject *parent) -: QSortFilterProxyModel(parent), less_than(0), accepts_col(0), accepts_row(0) -{ -} - -bool SsrfSortFilterProxyModel::lessThan(const QModelIndex& source_left, const QModelIndex& source_right) const -{ - Q_ASSERT(less_than); - const QAbstractItemModel *self = this; - return less_than(const_cast(self), source_left, source_right); -} - -bool SsrfSortFilterProxyModel::filterAcceptsRow(int source_row, const QModelIndex& source_parent) const -{ - if (!accepts_row) - return true; - const QAbstractItemModel *self = this; - return accepts_row(const_cast(self), source_row, source_parent); -} - -bool SsrfSortFilterProxyModel::filterAcceptsColumn(int source_column, const QModelIndex& source_parent) const -{ - if (!accepts_col) - return true; - const QAbstractItemModel *self = this; - return accepts_col(const_cast(self), source_column, source_parent); -} - -void SsrfSortFilterProxyModel::setLessThan(less_than_cb func) -{ - less_than = func; -} - -void SsrfSortFilterProxyModel::setFilterRow(filter_accepts_row_cb func) -{ - accepts_row = func; -} - -void SsrfSortFilterProxyModel::setFilterCol(filter_accepts_col_cb func) -{ - accepts_col = func; -} diff --git a/qt-models/ssrfsortfilterproxymodel.h b/qt-models/ssrfsortfilterproxymodel.h deleted file mode 100644 index 0fb76d91e..000000000 --- a/qt-models/ssrfsortfilterproxymodel.h +++ /dev/null @@ -1,34 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -#ifndef SSRFSORTFILTERPROXYMODEL_H -#define SSRFSORTFILTERPROXYMODEL_H - -#include - -typedef bool (*filter_accepts_col_cb) (QAbstractItemModel *model,int sourceRow, const QModelIndex& parent); -typedef bool (*filter_accepts_row_cb) (QAbstractItemModel *model,int sourceRow, const QModelIndex& parent); -typedef bool (*less_than_cb) (QAbstractItemModel *model, const QModelIndex& left, const QModelIndex& right); - -/* Use this class when you wanna a quick filter. - * instead of creating a new class, just create a new instance of this class - * and plug your callback. - */ -class SsrfSortFilterProxyModel : public QSortFilterProxyModel { - Q_OBJECT - -public: - SsrfSortFilterProxyModel(QObject *parent = 0); - bool lessThan(const QModelIndex& source_left, const QModelIndex& source_right) const override; - bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const override; - bool filterAcceptsColumn(int source_column, const QModelIndex& source_parent) const override; - - void setLessThan(less_than_cb func); - void setFilterRow(filter_accepts_row_cb func); - void setFilterCol(filter_accepts_col_cb func); - -private: - less_than_cb less_than; - filter_accepts_col_cb accepts_col; - filter_accepts_row_cb accepts_row; -}; - -#endif -- cgit v1.2.3-70-g09d2