X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fnickviewfilter.h;h=7bf9b6bcdd178b727d26f14472c4161aa72f3741;hp=47da2948f100d828c7ed34b1b263df0827372ee3;hb=bf4736ebe27a65bd89679be2c0d3a518f96b763f;hpb=7f8acf4ede38a0178a97eb701a9382e455ca7c2d diff --git a/src/uisupport/nickviewfilter.h b/src/uisupport/nickviewfilter.h index 47da2948..7bf9b6bc 100644 --- a/src/uisupport/nickviewfilter.h +++ b/src/uisupport/nickviewfilter.h @@ -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 * @@ -23,17 +23,41 @@ #include +#include + +#include "types.h" + class NetworkModel; // This is proxymodel is purely for the sorting right now -// the old nickmodel is stored for future reference in /devnotes class NickViewFilter : public QSortFilterProxyModel { Q_OBJECT public: - NickViewFilter(NetworkModel *parent = 0); - QVariant data(const QModelIndex &index, int role) const; - QVariant foreground(const QModelIndex &index) const; + NickViewFilter(const BufferId &bufferId, NetworkModel *parent = 0); + + virtual QVariant data(const QModelIndex &index, int role) const; + QVariant icon(const QModelIndex &index) const; + +protected: + virtual bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const; + +private slots: + void showUserStateIconsChanged(); + +private: + BufferId _bufferId; + + QHash _categoryIconHash; + QPixmap _userOnlineIcon; + QPixmap _userAwayIcon; + QPixmap _categoryOpIcon; + QPixmap _categoryVoiceIcon; + int _opIconLimit; + int _voiceIconLimit; + bool _showUserStateIcons; + + void loadColors(); }; #endif