X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcore%2Fcoresession.cpp;h=5eed0eb01561d4fd32a20c2b1c3fb7006843a7e1;hb=fce08b4580057ae5d0515f8c68ed3f54c5ddbbc2;hp=6c856054dd84586374273c79e7b82f3fc7333a18;hpb=632dd02da3a825f1e38730d73f3a2be518a99689;p=quassel.git diff --git a/src/core/coresession.cpp b/src/core/coresession.cpp index 6c856054..5eed0eb0 100644 --- a/src/core/coresession.cpp +++ b/src/core/coresession.cpp @@ -323,8 +323,18 @@ void CoreSession::recvMessageFromServer(RawMessage msg) // check for HardStrictness ignore CoreNetwork* currentNetwork = network(msg.networkId); QString networkName = currentNetwork ? currentNetwork->networkName() : QString(""); - if (_ignoreListManager.match(msg, networkName) == IgnoreListManager::HardStrictness) + switch (_ignoreListManager.match(msg, networkName)) { + case IgnoreListManager::StrictnessType::HardStrictness: + // Drop the message permanently return; + case IgnoreListManager::StrictnessType::SoftStrictness: + // Mark the message as (dynamically) ignored + msg.flags |= Message::Flag::Ignored; + break; + case IgnoreListManager::StrictnessType::UnmatchedStrictness: + // Keep the message unmodified + break; + } if (currentNetwork && _highlightRuleManager.match(msg, currentNetwork->myNick(), currentNetwork->identityPtr()->nicks())) msg.flags |= Message::Flag::Highlight;