Added HIDDEN level to ignores

This commit is contained in:
vague666 2018-06-05 14:43:37 +02:00
commit db3b671328
7 changed files with 73 additions and 5 deletions

View file

@ -157,7 +157,8 @@ static void cmd_ignore(const char *data)
g_strsplit(chanarg, ",", -1);
rec = ignore_find_full(servertag, mask, patternarg, channels,
IGNORE_FIND_PATTERN | ((level & MSGLEVEL_NO_ACT) ? IGNORE_FIND_NOACT : 0));
IGNORE_FIND_PATTERN | ((level & MSGLEVEL_NO_ACT) ? IGNORE_FIND_NOACT : 0) |
((level & MSGLEVEL_HIDDEN) ? IGNORE_FIND_HIDDEN : 0));
new_ignore = rec == NULL;
if (rec == NULL) {
@ -179,6 +180,12 @@ static void cmd_ignore(const char *data)
rec->level |= MSGLEVEL_ALL;
}
if (rec->level == MSGLEVEL_HIDDEN) {
/* If only HIDDEN was specified add all levels; it makes no
* sense on its own. */
rec->level |= MSGLEVEL_ALL;
}
if (new_ignore && rec->level == 0) {
/* tried to unignore levels from nonexisting ignore */
printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE,