feat: add initial filtering function
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
This commit is contained in:
@ -15,18 +15,29 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "InstanceList.h"
|
||||
|
||||
#include <QCollator>
|
||||
#include <QSortFilterProxyModel>
|
||||
|
||||
typedef std::pair<InstanceList::Column, QString> InstanceFilterQuery;
|
||||
|
||||
class InstanceTableProxyModel : public QSortFilterProxyModel {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
InstanceTableProxyModel(QObject* parent = 0);
|
||||
|
||||
void setFilterQuery(const QString query);
|
||||
void setFilterQuery(const QList<InstanceFilterQuery> query);
|
||||
|
||||
static QList<InstanceFilterQuery> parseFilterQuery(const QString query);
|
||||
|
||||
protected:
|
||||
QVariant data(const QModelIndex& index, int role) const override;
|
||||
bool filterAcceptsRow(int sourceRow, const QModelIndex& sourceParent) const;
|
||||
|
||||
private:
|
||||
QCollator m_naturalSort;
|
||||
QList<InstanceFilterQuery> m_filter;
|
||||
};
|
||||
|
Reference in New Issue
Block a user