current highlighted search result is no longer reset when the search string changes...
[quassel.git] / src / client / networkmodel.cpp
index 3e1bb10..0ffd9c0 100644 (file)
@@ -39,11 +39,16 @@ NetworkItem::NetworkItem(const NetworkId &netid, AbstractTreeItem *parent)
   : PropertyMapItem(QList<QString>() << "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<BufferId>();
 }