#include "util.h" // get rid of this (needed for isChannelName)
-
/*****************************************
* Fancy Buffer Items
*****************************************/
return qobject_cast<NetworkItem *>(parent())->isActive();
}
-bool BufferItem::setActivityLevel(Buffer::ActivityLevel level) {
- _activity = level;
- emit dataChanged();
- return true;
+void BufferItem::setActivityLevel(Buffer::ActivityLevel level) {
+ if(_activity != level) {
+ _activity = level;
+ emit dataChanged();
+ }
}
void BufferItem::updateActivityLevel(Buffer::ActivityLevel level) {
bool BufferItem::setData(int column, const QVariant &value, int role) {
switch(role) {
case NetworkModel::BufferActivityRole:
- return setActivityLevel((Buffer::ActivityLevel)value.toInt());
+ setActivityLevel((Buffer::ActivityLevel)value.toInt());
+ return true;
default:
return PropertyMapItem::setData(column, value, role);
}
#include "bufferviewfilter.h"
-#include <QColor>
-
#include "buffermodel.h"
#include "client.h"
#include "networkmodel.h"
connect(model, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(source_rowsInserted(const QModelIndex &, int, int)));
setDynamicSortFilter(true);
+
+ loadColors();
+}
+
+void BufferViewFilter::loadColors() {
+ UiSettings s("QtUi/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::setConfig(BufferViewConfig *config) {
}
QVariant BufferViewFilter::foreground(const QModelIndex &index) const {
- UiSettings s("QtUi/Colors");
- QVariant inactiveActivity = s.value("inactiveActivityFG", QVariant(QColor(Qt::gray)));
- QVariant noActivity = s.value("noActivityFG", QVariant(QColor(Qt::black)));
- QVariant highlightActivity = s.value("highlightActivityFG", QVariant(QColor(Qt::magenta)));
- QVariant newMessageActivity = s.value("newMessageActivityFG", QVariant(QColor(Qt::green)));
- QVariant otherActivity = s.value("otherActivityFG", QVariant(QColor(Qt::darkGreen)));
-
if(!index.data(NetworkModel::ItemActiveRole).toBool())
- return inactiveActivity;
+ return _FgColorInactiveActivity;
Buffer::ActivityLevel activity = (Buffer::ActivityLevel)index.data(NetworkModel::BufferActivityRole).toInt();
if(activity & Buffer::Highlight)
- return highlightActivity;
+ return _FgColorHighlightActivity;
if(activity & Buffer::NewMessage)
- return newMessageActivity;
+ return _FgColorNewMessageActivity;
if(activity & Buffer::OtherActivity)
- return otherActivity;
-
- return noActivity;
+ return _FgColorOtherActivity;
+ return _FgColorNoActivity;
}
void BufferViewFilter::source_rowsInserted(const QModelIndex &parent, int start, int end) {
#ifndef BUFFERVIEWFILTER_H_
#define BUFFERVIEWFILTER_H_
+#include <QColor>
#include <QDropEvent>
#include <QFlags>
#include <QPointer>
private:
QPointer<BufferViewConfig> _config;
+ QColor _FgColorInactiveActivity;
+ QColor _FgColorNoActivity;
+ QColor _FgColorHighlightActivity;
+ QColor _FgColorNewMessageActivity;
+ QColor _FgColorOtherActivity;
+ void loadColors();
+
bool filterAcceptBuffer(const QModelIndex &) const;
bool filterAcceptNetwork(const QModelIndex &) const;
void addBuffer(const BufferId &);