/***************************************************************************
- * 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 *
#include "iconloader.h"
#include "networkmodel.h"
-#include "uisettings.h"
-
class CheckRemovalEvent : public QEvent {
public:
CheckRemovalEvent(const QModelIndex &source_index) : QEvent(QEvent::User), index(source_index) {};
: QSortFilterProxyModel(model),
_config(0),
_sortOrder(Qt::AscendingOrder),
- _userOfflineIcon(SmallIcon("user-offline")),
- _userAwayIcon(SmallIcon("user-away")),
- _userOnlineIcon(SmallIcon("user-online")),
+ _userOfflineIcon(SmallIcon("im-user-offline")),
+ _userAwayIcon(SmallIcon("im-user-away")),
+ _userOnlineIcon(SmallIcon("im-user")),
_editMode(false),
_enableEditMode(tr("Edit Mode"), this)
{
setDynamicSortFilter(true);
- loadColors();
-
connect(this, SIGNAL(_dataChanged(const QModelIndex &, const QModelIndex &)),
this, SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex)));
bufferSettings.notify("ShowUserStateIcons", this, SLOT(showUserStateIconsChanged()));
}
-void BufferViewFilter::loadColors() {
- UiSettings s("QtUiStyle/Colors");
- _FgColorInactiveActivity = s.value("inactiveActivityFG", QVariant(QColor(Qt::gray))).value<QColor>();
- _FgColorNoActivity = s.value("noActivityFG", QVariant(QColor(Qt::black))).value<QColor>();
- _FgColorHighlightActivity = s.value("highlightActivityFG", QVariant(QColor(Qt::magenta))).value<QColor>();
- _FgColorNewMessageActivity = s.value("newMessageActivityFG", QVariant(QColor(Qt::green))).value<QColor>();
- _FgColorOtherActivity = s.value("otherActivityFG", QVariant(QColor(Qt::darkGreen))).value<QColor>();
-}
-
void BufferViewFilter::showUserStateIconsChanged() {
BufferSettings bufferSettings;
_showUserStateIcons = bufferSettings.showUserStateIcons();
if(!config) {
invalidate();
+ setObjectName("");
return;
}
disconnect(config(), SIGNAL(initDone()), this, SLOT(configInitialized()));
+ setObjectName(config()->bufferViewName());
+
invalidate();
emit configChanged();
}
switch(role) {
case Qt::DecorationRole:
return icon(index);
- case Qt::ForegroundRole:
- return foreground(index);
case Qt::CheckStateRole:
return checkedState(index);
default:
return QVariant();
}
-QVariant BufferViewFilter::foreground(const QModelIndex &index) const {
- if(config() && config()->disableDecoration())
- return _FgColorNoActivity;
-
- BufferInfo::ActivityLevel activity = (BufferInfo::ActivityLevel)index.data(NetworkModel::BufferActivityRole).toInt();
-
- if(activity & BufferInfo::Highlight)
- return _FgColorHighlightActivity;
- if(activity & BufferInfo::NewMessage)
- return _FgColorNewMessageActivity;
- if(activity & BufferInfo::OtherActivity)
- return _FgColorOtherActivity;
-
- if(!index.data(NetworkModel::ItemActiveRole).toBool() || index.data(NetworkModel::UserAwayRole).toBool())
- return _FgColorInactiveActivity;
-
- return _FgColorNoActivity;
-}
-
QVariant BufferViewFilter::checkedState(const QModelIndex &index) const {
if(!_editMode || !config())
return QVariant();