Stop RFC-violating IRC servers from crashing quassel
[quassel.git] / src / uisupport / nickviewfilter.cpp
index 5fa8e1f..72f9caa 100644 (file)
 
 #include "nickviewfilter.h"
 
+#include "buffersettings.h"
+#include "graphicalui.h"
+#include "iconloader.h"
 #include "networkmodel.h"
+#include "uistyle.h"
 
 /******************************************************************************************
  * NickViewFilter
@@ -36,10 +40,22 @@ NickViewFilter::NickViewFilter(const BufferId &bufferId, NetworkModel *parent)
 }
 
 bool NickViewFilter::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const {
-  // root node, networkindexes, the bufferindex of the buffer this filter is active for and it's childs are accepted
+  // root node, networkindexes, the bufferindex of the buffer this filter is active for and it's children are accepted
   if(!source_parent.isValid())
     return true;
 
   QModelIndex source_child = source_parent.child(source_row, 0);
   return (sourceModel()->data(source_child, NetworkModel::BufferIdRole).value<BufferId>() == _bufferId);
 }
+
+QVariant NickViewFilter::data(const QModelIndex &index, int role) const {
+  switch(role) {
+  case Qt::FontRole:
+  case Qt::ForegroundRole:
+  case Qt::BackgroundRole:
+  case Qt::DecorationRole:
+    return GraphicalUi::uiStyle()->nickViewItemData(mapToSource(index), role);
+  default:
+    return QSortFilterProxyModel::data(index, role);
+  }
+}