X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fnetworkmodel.cpp;h=0ffd9c0aff65d538dc58908e8203d5b8c609ac68;hp=3e1bb10766a83c05708cd3aa7fac53bf896507b1;hb=114f8a14b8bc82669ffda0599ce30fc299be9396;hpb=332069a1830ed3a055ac6f2d7661bae1cc83e40c diff --git a/src/client/networkmodel.cpp b/src/client/networkmodel.cpp index 3e1bb107..0ffd9c0a 100644 --- a/src/client/networkmodel.cpp +++ b/src/client/networkmodel.cpp @@ -39,11 +39,16 @@ NetworkItem::NetworkItem(const NetworkId &netid, AbstractTreeItem *parent) : PropertyMapItem(QList() << "networkName" << "currentServer" << "nickCount", parent), _networkId(netid) { - setFlags(Qt::ItemIsEnabled); + setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable); } QVariant NetworkItem::data(int column, int role) const { switch(role) { + case NetworkModel::BufferIdRole: + if(childCount()) + return child(0)->data(column, role); + else + return QVariant(); case NetworkModel::NetworkIdRole: return qVariantFromValue(_networkId); case NetworkModel::ItemTypeRole: @@ -185,7 +190,6 @@ void BufferItem::setActivityLevel(BufferInfo::ActivityLevel level) { } } -//void BufferItem::updateActivityLevel(BufferInfo::ActivityLevel level) { void BufferItem::updateActivityLevel(const Message &msg) { if(isCurrentBuffer()) return; @@ -247,6 +251,11 @@ void BufferItem::setBufferName(const QString &name) { 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(); }