#include <QAbstractItemView>
-#include "bufferinfo.h"
#include "buffermodel.h"
#include "client.h"
#include "signalproxy.h"
Q_UNUSED(column);
QStringList toolTip(QString("<b>%1</b>").arg(networkName()));
- toolTip.append(QString("Server: %1").arg(currentServer()));
- toolTip.append(QString("Users: %1").arg(nickCount()));
+ toolTip.append(tr("Server: %1").arg(currentServer()));
+ toolTip.append(tr("Users: %1").arg(nickCount()));
if(_network) {
- toolTip.append(QString("Lag: %1 msecs").arg(_network->latency()));
+ toolTip.append(tr("Lag: %1 msecs").arg(_network->latency()));
}
return QString("<p> %1 </p>").arg(toolTip.join("<br />"));
BufferItem::BufferItem(const BufferInfo &bufferInfo, AbstractTreeItem *parent)
: PropertyMapItem(QStringList() << "bufferName" << "topic" << "nickCount", parent),
_bufferInfo(bufferInfo),
- _activity(Buffer::NoActivity)
+ _activity(BufferInfo::NoActivity)
{
setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled);
}
-void BufferItem::setActivityLevel(Buffer::ActivityLevel level) {
+void BufferItem::setActivityLevel(BufferInfo::ActivityLevel level) {
if(_activity != level) {
_activity = level;
emit dataChanged();
}
}
-//void BufferItem::updateActivityLevel(Buffer::ActivityLevel level) {
void BufferItem::updateActivityLevel(const Message &msg) {
if(isCurrentBuffer())
return;
if(lastSeenMsgId() >= msg.msgId())
return;
- Buffer::ActivityLevel oldLevel = activityLevel();
+ BufferInfo::ActivityLevel oldLevel = activityLevel();
- _activity |= Buffer::OtherActivity;
+ _activity |= BufferInfo::OtherActivity;
if(msg.type() & (Message::Plain | Message::Notice | Message::Action))
- _activity |= Buffer::NewMessage;
+ _activity |= BufferInfo::NewMessage;
if(msg.flags() & Message::Highlight)
- _activity |= Buffer::Highlight;
+ _activity |= BufferInfo::Highlight;
if(oldLevel != _activity)
emit dataChanged();
qDebug() << "BufferItem::setData(int column, const QVariant &value, int role):" << this << column << value << role;
switch(role) {
case NetworkModel::BufferActivityRole:
- setActivityLevel((Buffer::ActivityLevel)value.toInt());
+ setActivityLevel((BufferInfo::ActivityLevel)value.toInt());
return true;
default:
return PropertyMapItem::setData(column, value, role);
emit dataChanged(0);
}
+void BufferItem::setLastSeenMsgId(const MsgId &msgId) {
+ _lastSeenMsgId = msgId;
+ setActivityLevel(BufferInfo::NoActivity);
+}
+
bool BufferItem::isCurrentBuffer() const {
return _bufferInfo.bufferId() == Client::bufferModel()->currentIndex().data(NetworkModel::BufferIdRole).value<BufferId>();
}
buffItem->parent()->removeChild(buffItem);
}
+MsgId NetworkModel::lastSeenMsgId(BufferId bufferId) {
+ if(!_bufferItemCache.contains(bufferId))
+ return MsgId();
+
+ return _bufferItemCache[bufferId]->lastSeenMsgId();
+}
+
void NetworkModel::setLastSeenMsgId(const BufferId &bufferId, const MsgId &msgId) {
BufferItem *bufferItem = findBufferItem(bufferId);
if(!bufferItem) {
}
void NetworkModel::updateBufferActivity(const Message &msg) {
- BufferItem *bufferItem = findBufferItem(msg.bufferInfo());
- if(!bufferItem) {
- qDebug() << "NetworkModel::updateBufferActivity(): buffer is unknown:" << msg.bufferInfo();
- return;
- }
- bufferItem->updateActivityLevel(msg);
+ bufferItem(msg.bufferInfo())->updateActivityLevel(msg);
}
-void NetworkModel::setBufferActivity(const BufferId &bufferId, Buffer::ActivityLevel level) {
+void NetworkModel::setBufferActivity(const BufferId &bufferId, BufferInfo::ActivityLevel level) {
BufferItem *bufferItem = findBufferItem(bufferId);
if(!bufferItem) {
qDebug() << "NetworkModel::setBufferActivity(): buffer is unknown:" << bufferId;
return _bufferItemCache[bufferId]->bufferName();
}
+BufferInfo::Type NetworkModel::bufferType(BufferId bufferId) {
+ if(!_bufferItemCache.contains(bufferId))
+ return BufferInfo::InvalidBuffer;
+
+ return _bufferItemCache[bufferId]->bufferType();
+}
+
+BufferInfo NetworkModel::bufferInfo(BufferId bufferId) {
+ if(!_bufferItemCache.contains(bufferId))
+ return BufferInfo();
+
+ return _bufferItemCache[bufferId]->bufferInfo();
+}
+
NetworkId NetworkModel::networkId(BufferId bufferId) {
if(!_bufferItemCache.contains(bufferId))
return NetworkId();
else
return QString();
}
-
-BufferInfo::Type NetworkModel::bufferType(BufferId bufferId) {
- if(!_bufferItemCache.contains(bufferId))
- return BufferInfo::InvalidBuffer;
-
- return _bufferItemCache[bufferId]->bufferType();
-}