From: Marcus Eggenberger Date: Thu, 1 May 2008 11:05:34 +0000 (+0000) Subject: nicklist_performance++ X-Git-Tag: 0.2.0-beta1~15 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=09e9b338ecb81a79eddc38b03daef7c31dcfe493 nicklist_performance++ --- diff --git a/src/uisupport/nickviewfilter.cpp b/src/uisupport/nickviewfilter.cpp index 907034d7..53327691 100644 --- a/src/uisupport/nickviewfilter.cpp +++ b/src/uisupport/nickviewfilter.cpp @@ -19,13 +19,9 @@ ***************************************************************************/ #include "nickviewfilter.h" - #include "networkmodel.h" - #include "uisettings.h" -#include - /****************************************************************************************** * NickViewFilter ******************************************************************************************/ @@ -37,6 +33,14 @@ NickViewFilter::NickViewFilter(const BufferId &bufferId, NetworkModel *parent) setDynamicSortFilter(true); setSortCaseSensitivity(Qt::CaseInsensitive); setSortRole(TreeModel::SortRole); + loadColors(); +} + +void NickViewFilter::loadColors() { + UiSettings s("QtUi/Colors"); + _FgOnlineStatus = s.value("onlineStatusFG", QVariant(QColor(Qt::black))).value(); + _FgAwayStatus = s.value("awayStatusFG", QVariant(QColor(Qt::gray))).value(); + // FIXME: use the style interface instead of qsettings } QVariant NickViewFilter::data(const QModelIndex &index, int role) const { @@ -44,26 +48,12 @@ QVariant NickViewFilter::data(const QModelIndex &index, int role) const { return foreground(index); else return QSortFilterProxyModel::data(index, role); -// else { -// QVariant d = -// if(role == 0) -// qDebug() << index << role << d; -// return d; -// } } QVariant NickViewFilter::foreground(const QModelIndex &index) const { - UiSettings s("QtUi/Colors"); - QVariant onlineStatusFG = s.value("onlineStatusFG", QVariant(QColor(Qt::black))); - QVariant awayStatusFG = s.value("awayStatusFG", QVariant(QColor(Qt::gray))); - if(!index.data(NetworkModel::ItemActiveRole).toBool()) - return awayStatusFG.value(); - - return onlineStatusFG.value(); - - // FIXME:: make colors configurable; - // FIXME: use the style interface instead of qsettings + return _FgAwayStatus; + return _FgOnlineStatus; } diff --git a/src/uisupport/nickviewfilter.h b/src/uisupport/nickviewfilter.h index 38b7ca3a..534600fc 100644 --- a/src/uisupport/nickviewfilter.h +++ b/src/uisupport/nickviewfilter.h @@ -21,13 +21,13 @@ #ifndef NICKVIEWFILTER_H #define NICKVIEWFILTER_H +#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 @@ -41,6 +41,10 @@ protected: private: BufferId _bufferId; + QColor _FgOnlineStatus; + QColor _FgAwayStatus; + + void loadColors(); }; #endif