aboutsummaryrefslogtreecommitdiff
path: root/src/webengine/blockerrule.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/webengine/blockerrule.cpp')
-rw-r--r--src/webengine/blockerrule.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/webengine/blockerrule.cpp b/src/webengine/blockerrule.cpp
index a4a0982..340e8bd 100644
--- a/src/webengine/blockerrule.cpp
+++ b/src/webengine/blockerrule.cpp
@@ -3,10 +3,29 @@
BlockerRule::BlockerRule(QString rule, QObject *parent) :
QObject(parent)
{
- ruleExpression.setPattern(rule);
+ QString pattern = rule;
+
+ if(rule.startsWith("@@")) {
+ m_exception = true;
+ pattern = pattern.remove(0, 2);
+ } else {
+ m_exception = false;
+ }
+
+ ruleExpression.setPattern(pattern);
+ m_valid = true;
}
bool BlockerRule::match(const QUrl &url)
{
return ruleExpression.match(url.toString()).hasMatch();
}
+
+bool BlockerRule::isValid()
+{
+ return m_valid;
+}
+bool BlockerRule::isException()
+{
+ return m_exception;
+}