Fix includes
[quassel.git] / src / client / messagefilter.cpp
index 53ac5e1..55f609c 100644 (file)
@@ -121,7 +121,7 @@ QString MessageFilter::idString() const {
 bool MessageFilter::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const {
   Q_UNUSED(sourceParent);
   QModelIndex sourceIdx = sourceModel()->index(sourceRow, 2);
-  Message::Type messageType = (Message::Type)sourceModel()->data(sourceIdx, MessageModel::TypeRole).toInt();
+  Message::Type messageType = (Message::Type)sourceIdx.data(MessageModel::TypeRole).toInt();
 
   // apply message type filter
   if(_messageTypeFilter & messageType)
@@ -130,13 +130,13 @@ bool MessageFilter::filterAcceptsRow(int sourceRow, const QModelIndex &sourcePar
   if(_validBuffers.isEmpty())
     return true;
 
-  BufferId bufferId = sourceModel()->data(sourceIdx, MessageModel::BufferIdRole).value<BufferId>();
+  BufferId bufferId = sourceIdx.data(MessageModel::BufferIdRole).value<BufferId>();
   if(!bufferId.isValid()) {
     return true;
   }
 
-  MsgId msgId = sourceModel()->data(sourceIdx, MessageModel::MsgIdRole).value<MsgId>();
-  Message::Flags flags = (Message::Flags)sourceModel()->data(sourceIdx, MessageModel::FlagsRole).toInt();
+  // MsgId msgId = sourceIdx.data(MessageModel::MsgIdRole).value<MsgId>();
+  Message::Flags flags = (Message::Flags)sourceIdx.data(MessageModel::FlagsRole).toInt();
 
   NetworkId myNetworkId = networkId();
   NetworkId msgNetworkId = Client::networkModel()->networkId(bufferId);
@@ -144,23 +144,22 @@ bool MessageFilter::filterAcceptsRow(int sourceRow, const QModelIndex &sourcePar
     return false;
 
   // ignorelist handling
-  const MessageModelItem *item = const_cast<const MessageModel*>(static_cast<MessageModel*>(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())))
-      return false;
+  if(!(flags & Message::ServerMsg) && Client::ignoreListManager()
+      && Client::ignoreListManager()->match(sourceIdx.data(MessageModel::MessageRole).value<Message>(), Client::networkModel()->networkName(bufferId)))
+    return false;
 
   if(flags & Message::Redirected) {
     int redirectionTarget = 0;
     switch(messageType) {
     case Message::Notice:
       if(Client::networkModel()->bufferType(bufferId) != BufferInfo::ChannelBuffer) {
-       if(flags & Message::ServerMsg) {
-         // server notice
-         redirectionTarget = _serverNoticesTarget;
-       } else {
-         redirectionTarget = _userNoticesTarget;
-       }
+        if(flags & Message::ServerMsg) {
+          // server notice
+          redirectionTarget = _serverNoticesTarget;
+        } else {
+          redirectionTarget = _userNoticesTarget;
+        }
       }
       break;
     case Message::Error:
@@ -176,21 +175,21 @@ bool MessageFilter::filterAcceptsRow(int sourceRow, const QModelIndex &sourcePar
     if(redirectionTarget & BufferSettings::CurrentBuffer && !(flags & Message::Backlog)) {
       BufferId redirectedTo = sourceModel()->data(sourceIdx, MessageModel::RedirectedToRole).value<BufferId>();
       if(!redirectedTo.isValid()) {
-       BufferId redirectedTo = Client::bufferModel()->currentIndex().data(NetworkModel::BufferIdRole).value<BufferId>();
-       if(redirectedTo.isValid())
-         sourceModel()->setData(sourceIdx, QVariant::fromValue<BufferId>(redirectedTo), MessageModel::RedirectedToRole);
+        BufferId redirectedTo = Client::bufferModel()->currentIndex().data(NetworkModel::BufferIdRole).value<BufferId>();
+        if(redirectedTo.isValid())
+          sourceModel()->setData(sourceIdx, QVariant::fromValue<BufferId>(redirectedTo), MessageModel::RedirectedToRole);
       }
 
       if(_validBuffers.contains(redirectedTo))
-       return true;
+        return true;
     }
 
     if(redirectionTarget & BufferSettings::StatusBuffer) {
       QSet<BufferId>::const_iterator idIter = _validBuffers.constBegin();
       while(idIter != _validBuffers.constEnd()) {
-       if(Client::networkModel()->bufferType(*idIter) == BufferInfo::StatusBuffer)
-         return true;
-       idIter++;
+        if(Client::networkModel()->bufferType(*idIter) == BufferInfo::StatusBuffer)
+          return true;
+        idIter++;
       }
     }