/***************************************************************************
- * Copyright (C) 2005-2016 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 *
_highlightRuleList << HighlightRule(name[i], isRegEx[i].toBool(), isCaseSensitive[i].toBool(),
isActive[i].toBool(), isInverse[i].toBool(), sender[i], channel[i]);
}
- _highlightNick = HighlightNickType(highlightRuleList["highlightNick"].toInt());
+
+ // Make sure the default for _highlightNick is "CurrentNick" if not set
+ _highlightNick = HighlightNickType(
+ highlightRuleList.value("highlightNick", HighlightNickType::CurrentNick).toInt());
+
_nicksCaseSensitive = highlightRuleList["nicksCaseSensitive"].toBool();
}
if (!rule.isEnabled)
continue;
- if (rule.chanName.size() > 0 && rule.chanName.compare(".*") != 0) {
- if (rule.chanName.startsWith("!")) {
- QRegExp rx(rule.chanName.mid(1), Qt::CaseInsensitive);
- if (rx.exactMatch(bufferName))
- continue;
- }
- else {
- QRegExp rx(rule.chanName, Qt::CaseInsensitive);
- if (!rx.exactMatch(bufferName))
- continue;
- }
+ if (!rule.chanName.isEmpty() && !scopeMatch(rule.chanName, bufferName)) {
+ // A channel name rule is specified and does NOT match the current buffer name, skip
+ // this rule
+ continue;
}
QRegExp rx;