From 1143429887f61d8b3c74a4c3a1fafca632eb4b87 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Thu, 25 May 2017 20:59:43 +0200 Subject: Filter code refactoring --- src/filter/filtercollection.h | 61 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/filter/filtercollection.h (limited to 'src/filter/filtercollection.h') diff --git a/src/filter/filtercollection.h b/src/filter/filtercollection.h new file mode 100644 index 0000000..c39fb0a --- /dev/null +++ b/src/filter/filtercollection.h @@ -0,0 +1,61 @@ +/******************************************************************************* + ** + ** smolbote: yet another qute browser + ** Copyright (C) 2017 Xian Nox + ** + ** This program is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** This program is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with this program. If not, see . + ** + ******************************************************************************/ + +#ifndef SUBSCRIPTIONFORM_H +#define SUBSCRIPTIONFORM_H + +#include +#include +#include "filtertree.h" + +namespace Ui { +class SubscriptionForm; +} + +class FilterCollection : public QWidget +{ + Q_OBJECT + +public: + struct MatchResult { + bool match; + bool block; + QString pattern; + }; + + explicit FilterCollection(const QString path, QWidget *parent = 0); + ~FilterCollection(); + + QString name() const; + MatchResult match(QWebEngineUrlRequestInfo &info); + +private slots: + int load(const QJsonObject &json); + +private: + Filter::Resources parseJsonRules(const QJsonValue &obj); + + Ui::SubscriptionForm *ui; + + FilterTree *m_filters; + +}; + +#endif // SUBSCRIPTIONFORM_H -- cgit v1.2.1