/***************************************************************************
- * Copyright (C) 2005-2015 by the Quassel Project *
+ * Copyright (C) 2005-2018 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
int count = ignoreRule.count();
if (count != scopeRule.count() || count != isRegEx.count() ||
count != scope.count() || count != strictness.count() || count != ignoreType.count() || count != isActive.count()) {
- qWarning() << "Corrupted IgnoreList settings! (Count missmatch)";
+ qWarning() << "Corrupted IgnoreList settings! (Count mismatch)";
return;
}
if (!item.isActive || item.type == CtcpIgnore)
continue;
if (item.scope == GlobalScope
- || (item.scope == NetworkScope && scopeMatch(item.scopeRule, network))
- || (item.scope == ChannelScope && scopeMatch(item.scopeRule, bufferName))) {
+ || (item.scope == NetworkScope && scopeMatch(network, item.scopeRule))
+ || (item.scope == ChannelScope && scopeMatch(bufferName, item.scopeRule))) {
QString str;
if (item.type == MessageIgnore)
str = msgContents;
}
-bool IgnoreListManager::scopeMatch(const QString &scopeRule, const QString &string) const
-{
- foreach(QString rule, scopeRule.split(";")) {
- QRegExp ruleRx = QRegExp(rule.trimmed());
- ruleRx.setCaseSensitivity(Qt::CaseInsensitive);
- ruleRx.setPatternSyntax(QRegExp::Wildcard);
- if (ruleRx.exactMatch(string)) {
- return true;
- }
- }
- return false;
-}
-
-
void IgnoreListManager::removeIgnoreListItem(const QString &ignoreRule)
{
removeAt(indexOf(ignoreRule));
foreach(IgnoreListItem item, _ignoreList) {
if (!item.isActive)
continue;
- if (item.scope == GlobalScope || (item.scope == NetworkScope && scopeMatch(item.scopeRule, network))) {
+ if (item.scope == GlobalScope || (item.scope == NetworkScope && scopeMatch(network, item.scopeRule))) {
QString sender_;
QStringList types = item.ignoreRule.split(QRegExp("\\s+"), QString::SkipEmptyParts);