X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fqtui%2Fchatmonitorfilter.cpp;h=9bbed8c0f85969ea90132eb7d16c1c531cdf193e;hb=934ff82a6554ea72ea449c561f53804dbafc20f0;hp=055ed933f1875c88aadecddc93da90016742fa96;hpb=12feae2e4609b90c87d3c1857031909248143fd7;p=quassel.git diff --git a/src/qtui/chatmonitorfilter.cpp b/src/qtui/chatmonitorfilter.cpp index 055ed933..9bbed8c0 100644 --- a/src/qtui/chatmonitorfilter.cpp +++ b/src/qtui/chatmonitorfilter.cpp @@ -64,21 +64,22 @@ bool ChatMonitorFilter::filterAcceptsRow(int sourceRow, const QModelIndex &sourc if(!(type & (Message::Plain | Message::Notice | Message::Action))) return false; + BufferId bufferId = source_index.data(MessageModel::BufferIdRole).value(); + // ChatMonitorSettingsPage if(_operationMode == ChatViewSettings::OptOut && !(_showHighlights && flags & Message::Highlight) - && _bufferIds.contains(source_index.data(MessageModel::BufferIdRole).value())) + && _bufferIds.contains(bufferId)) return false; if(_operationMode == ChatViewSettings::OptIn && !(_showHighlights && flags & Message::Highlight) - && !_bufferIds.contains(source_index.data(MessageModel::BufferIdRole).value())) + && !_bufferIds.contains(bufferId)) return false; // ignorelist handling - const MessageModelItem *item = const_cast(static_cast(sourceModel()))->messageItemAt(sourceRow); // only match if message is not flagged as server msg - if(!(item->message().flags() & Message::ServerMsg) && - Client::ignoreListManager()->match(item->message(), Client::networkModel()->networkName(item->bufferId()))) + if(!(flags & Message::ServerMsg) && + Client::ignoreListManager()->match(source_index.data(MessageModel::MessageRole).value(), Client::networkModel()->networkName(bufferId))) return false; return true; }