mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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 <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
f39596df06
commit
6137e0bc60
4 changed files with 1 additions and 81 deletions
|
@ -26,7 +26,6 @@ set(SUBSURFACE_DESKTOP_MODELS_LIB_SRCS
|
|||
divetripmodel.cpp
|
||||
diveplannermodel.cpp
|
||||
divecomputerextradatamodel.cpp
|
||||
ssrfsortfilterproxymodel.cpp
|
||||
)
|
||||
|
||||
# models exclusively used in mobile builds
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
|
||||
#include <QAbstractTableModel>
|
||||
#include <QStringListModel>
|
||||
#include <QSortFilterProxyModel>
|
||||
#include <stdint.h>
|
||||
#include "core/units.h"
|
||||
#include "ssrfsortfilterproxymodel.h"
|
||||
|
||||
#define RECENTLY_ADDED_DIVESITE 1
|
||||
|
||||
|
|
|
@ -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<QAbstractItemModel*>(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<QAbstractItemModel*>(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<QAbstractItemModel*>(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;
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#ifndef SSRFSORTFILTERPROXYMODEL_H
|
||||
#define SSRFSORTFILTERPROXYMODEL_H
|
||||
|
||||
#include <QSortFilterProxyModel>
|
||||
|
||||
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
|
Loading…
Add table
Reference in a new issue