#include <QtCore>
#include <QDebug>
#include <QStringList>
-#include <QRegExp>
INIT_SYNCABLE_OBJECT(IgnoreListManager)
IgnoreListManager &IgnoreListManager::operator=(const IgnoreListManager &other)
else
str = msgSender;
- QRegExp ruleRx = QRegExp(item.ignoreRule);
- ruleRx.setCaseSensitivity(Qt::CaseInsensitive);
- if (!item.isRegEx) {
- ruleRx.setPatternSyntax(QRegExp::Wildcard);
- }
-
// qDebug() << "IgnoreListManager::match: ";
// qDebug() << "string: " << str;
// qDebug() << "pattern: " << ruleRx.pattern();
// qDebug() << "scopeRule: " << item.scopeRule;
// qDebug() << "now testing";
- if ((!item.isRegEx && ruleRx.exactMatch(str)) ||
- (item.isRegEx && ruleRx.indexIn(str) != -1)) {
+ if ((!item.isRegEx && item.regEx.exactMatch(str)) ||
+ (item.isRegEx && item.regEx.indexIn(str) != -1)) {
// qDebug() << "MATCHED!";
return item.strictness;
}
#define IGNORELISTMANAGER_H
#include <QString>
+#include <QRegExp>
#include "message.h"
#include "syncableobject.h"
ScopeType scope;
QString scopeRule;
bool isActive;
+ QRegExp regEx;
IgnoreListItem() {}
IgnoreListItem(IgnoreType type_, const QString &ignoreRule_, bool isRegEx_, StrictnessType strictness_,
ScopeType scope_, const QString &scopeRule_, bool isActive_)
- : type(type_), ignoreRule(ignoreRule_), isRegEx(isRegEx_), strictness(strictness_), scope(scope_), scopeRule(scopeRule_), isActive(isActive_) {}
+ : type(type_), ignoreRule(ignoreRule_), isRegEx(isRegEx_), strictness(strictness_), scope(scope_), scopeRule(scopeRule_), isActive(isActive_), regEx(ignoreRule_) {
+ regEx.setCaseSensitivity(Qt::CaseInsensitive);
+ if (!isRegEx_) {
+ regEx.setPatternSyntax(QRegExp::Wildcard);
+ }
+ }
bool operator!=(const IgnoreListItem &other)
{
return (type != other.type ||