common: Add inverted scope match rules to ignores
authorShane Synan <digitalcircuit36939@gmail.com>
Thu, 1 Mar 2018 05:54:10 +0000 (23:54 -0600)
committerManuel Nickschas <sputnick@quassel-irc.org>
Wed, 6 Jun 2018 17:15:14 +0000 (19:15 +0200)
commitcd4f987d0d8ace10272bf1d87c788b741a9e85e8
tree78f50e325a41cf41ca7908d761565e69eb4eee45
parentf4cc482f39451e564f549b39549d68f46561a9aa
common: Add inverted scope match rules to ignores

Add support for inverted scope matching subrules to ignore entries.
A match now only happens when the string does NOT match ANY inverted
rules and matches AT LEAST one normal rule, unless no normal rules
exist (implicit wildcard match).

Example:
> #quassel*; #foobar; !#quasseldroid

Matches "#foobar" and anything "#quassel...", except for
"#quasseldroid"

Example:
> !#quassel*; !#foobar

Matches anything except for "#foobar" or anything "#quassel..."
src/common/ignorelistmanager.cpp
src/common/ignorelistmanager.h
src/qtui/settingspages/ignorelisteditdlg.ui