/* * This file is part of smolbote. It's copyrighted by the contributors recorded * in the version control history of the file, available from its original * location: git://neueland.iserlohn-fortress.net/smolbote.git * * SPDX-License-Identifier: GPL-3.0 */ #ifndef FILTERTREE_H #define FILTERTREE_H #include #include #include #include "filter.h" class FilterTree : public QAbstractItemModel { Q_OBJECT public: explicit FilterTree(QObject *parent = 0); ~FilterTree(); QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override; QModelIndex parent(const QModelIndex &index) const override; int rowCount(const QModelIndex &parent = QModelIndex()) const override; int columnCount(const QModelIndex &parent = QModelIndex()) const override; QVariant data(const QModelIndex &index, int role) const override; QVariant headerData(int section, Qt::Orientation orientation, int role) const override; Filter *addFilter(const QString &domain, const QString &request, Filter::ResourceRules rules, bool shouldBlock); QVector filters(const QString &domain = ""); private: Filter *rootItem; }; #endif // FILTERTREE_H