X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatmonitorfilter.cpp;h=001e6c5f25fce4b7006b12898a71f4ee09ad1799;hp=bbf391892f0f036674f06c20866c1e5e07bd7b96;hb=9a717378a859383363ea519dd9de9c0138d0db73;hpb=38880d99a159fd670915d910bcb2c4280b3efc51 diff --git a/src/qtui/chatmonitorfilter.cpp b/src/qtui/chatmonitorfilter.cpp index bbf39189..001e6c5f 100644 --- a/src/qtui/chatmonitorfilter.cpp +++ b/src/qtui/chatmonitorfilter.cpp @@ -1,5 +1,5 @@ /*************************************************************************** -* Copyright (C) 2005-08 by the Quassel Project * +* Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -53,22 +53,24 @@ ChatMonitorFilter::ChatMonitorFilter(MessageModel *model, QObject *parent) bool ChatMonitorFilter::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const { Q_UNUSED(sourceParent) - Message::Flags flags = (Message::Flags)sourceModel()->data(sourceModel()->index(sourceRow, 0), MessageModel::FlagsRole).toInt(); + QModelIndex source_index = sourceModel()->index(sourceRow, 0); + + Message::Flags flags = (Message::Flags)source_index.data(MessageModel::FlagsRole).toInt(); if(flags & Message::Backlog || (!_showOwnMessages && flags & Message::Self)) return false; - Message::Type type = (Message::Type)sourceModel()->data(sourceModel()->index(sourceRow, 0), MessageModel::TypeRole).toInt(); + Message::Type type = (Message::Type)source_index.data(MessageModel::TypeRole).toInt(); if(!(type & (Message::Plain | Message::Notice | Message::Action))) return false; // ChatMonitorSettingsPage if(_operationMode == ChatViewSettings::OptOut && !(_showHighlights && flags & Message::Highlight) - && _bufferIds.contains(sourceModel()->data(sourceModel()->index(sourceRow, 0), MessageModel::BufferIdRole).value())) + && _bufferIds.contains(source_index.data(MessageModel::BufferIdRole).value())) return false; if(_operationMode == ChatViewSettings::OptIn && !(_showHighlights && flags & Message::Highlight) - && !_bufferIds.contains(sourceModel()->data(sourceModel()->index(sourceRow, 0), MessageModel::BufferIdRole).value())) + && !_bufferIds.contains(source_index.data(MessageModel::BufferIdRole).value())) return false; return true; @@ -95,7 +97,7 @@ QVariant ChatMonitorFilter::data(const QModelIndex &index, int role) const { fields << Client::networkModel()->bufferName(bufid); } - Message::Type messageType = (Message::Type)sourceModel()->data(source_index, MessageModel::TypeRole).toInt(); + Message::Type messageType = (Message::Type)source_index.data(MessageModel::TypeRole).toInt(); if(messageType & (Message::Plain | Message::Notice)) { QString sender = MessageFilter::data(index, ChatLineModel::EditRole).toString(); fields << sender;