users who are away are now greyed out in the nickview
[quassel.git] / src / uisupport / nickviewfilter.cpp
similarity index 76%
rename from src/client/nickmodel.cpp
rename to src/uisupport/nickviewfilter.cpp
index 14a804b..28f1a7c 100644 (file)
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
 
-#include "nickmodel.h"
+#include "nickviewfilter.h"
 
 #include "networkmodel.h"
+#include <QColor>
 
 /******************************************************************************************
- * NickModel
+ * NickViewFilter
  ******************************************************************************************/
-NickModel::NickModel(NetworkModel *parent)
+NickViewFilter::NickViewFilter(NetworkModel *parent)
   : QSortFilterProxyModel(parent)
 {
   setSourceModel(parent);
@@ -33,3 +34,18 @@ NickModel::NickModel(NetworkModel *parent)
   setSortCaseSensitivity(Qt::CaseInsensitive);
 }
 
+QVariant NickViewFilter::data(const QModelIndex &index, int role) const {
+  if(role == Qt::ForegroundRole)
+    return foreground(index);
+  else
+    return QSortFilterProxyModel::data(index, role);
+}
+
+QVariant NickViewFilter::foreground(const QModelIndex &index) const {
+  if(!index.data(NetworkModel::ItemActiveRole).toBool())
+    return QColor(Qt::gray);
+  
+  return QColor(Qt::black);
+  
+  // FIXME:: make colors configurable;
+}