diff options
Diffstat (limited to 'src/webengine/blockerrule.cpp')
-rw-r--r-- | src/webengine/blockerrule.cpp | 21 |
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; +} |