From 09e9b338ecb81a79eddc38b03daef7c31dcfe493 Mon Sep 17 00:00:00 2001 From: Marcus Eggenberger Date: Thu, 1 May 2008 11:05:34 +0000 Subject: [PATCH 1/1] nicklist_performance++ --- src/uisupport/nickviewfilter.cpp | 30 ++++++++++-------------------- src/uisupport/nickviewfilter.h | 6 +++++- 2 files changed, 15 insertions(+), 21 deletions(-) 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 -- 2.20.1