diff options
Diffstat (limited to 'lib/web/urlfilter/filterdomain.h')
-rw-r--r-- | lib/web/urlfilter/filterdomain.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/web/urlfilter/filterdomain.h b/lib/web/urlfilter/filterdomain.h new file mode 100644 index 0000000..2173bfc --- /dev/null +++ b/lib/web/urlfilter/filterdomain.h @@ -0,0 +1,33 @@ +#ifndef FILTERDOMAIN_H +#define FILTERDOMAIN_H + +#include <QObject> +#include <QVector> + +class FilterDomain : public QObject +{ + Q_OBJECT +public: + enum MatchType { + Whitelist, // only match added domains + Blacklist, // only match domains not added + WhitelistAll, // match all domains + BlacklistAll // match no domains + }; + + explicit FilterDomain(MatchType type = Whitelist, QObject *parent = nullptr); + + void setType(MatchType type); + void addDomain(const QString &domain); + + bool hasMatch(const QString &host) const; + +private: + MatchType m_type; + QVector<QString> m_domains; +}; + +// function taken from KDE/Falkon +bool isMatchingDomain(const QString &domain, const QString &filter); + +#endif // FILTERDOMAIN_H |