X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fclient%2Fnetworkmodel.cpp;h=1de02e50cec6841602d8802d89455a0c0e282d82;hb=00f4731d43366b9c5fb535147597c254084984ce;hp=6184e0caa78669e7d314b546811f2f51f649585c;hpb=8dcad46c8d6ad1eb38c36dc1c6333c4c480250ab;p=quassel.git diff --git a/src/client/networkmodel.cpp b/src/client/networkmodel.cpp index 6184e0ca..1de02e50 100644 --- a/src/client/networkmodel.cpp +++ b/src/client/networkmodel.cpp @@ -45,6 +45,8 @@ NetworkItem::NetworkItem(const NetworkId &netid, AbstractTreeItem *parent) QVariant NetworkItem::data(int column, int role) const { switch(role) { case NetworkModel::BufferIdRole: + case NetworkModel::BufferInfoRole: + case NetworkModel::BufferTypeRole: if(childCount()) return child(0)->data(column, role); else @@ -920,14 +922,14 @@ void NetworkModel::removeBuffer(BufferId bufferId) { buffItem->parent()->removeChild(buffItem); } -MsgId NetworkModel::lastSeenMsgId(BufferId bufferId) { +MsgId NetworkModel::lastSeenMsgId(BufferId bufferId) const { if(!_bufferItemCache.contains(bufferId)) return MsgId(); return _bufferItemCache[bufferId]->lastSeenMsgId(); } -MsgId NetworkModel::lastSeenMarkerMsgId(BufferId bufferId) { +MsgId NetworkModel::lastSeenMarkerMsgId(BufferId bufferId) const { if(!_bufferItemCache.contains(bufferId)) return MsgId(); @@ -996,28 +998,28 @@ void NetworkModel::checkForNewBuffers(const QModelIndex &parent, int start, int } } -QString NetworkModel::bufferName(BufferId bufferId) { +QString NetworkModel::bufferName(BufferId bufferId) const { if(!_bufferItemCache.contains(bufferId)) return QString(); return _bufferItemCache[bufferId]->bufferName(); } -BufferInfo::Type NetworkModel::bufferType(BufferId bufferId) { +BufferInfo::Type NetworkModel::bufferType(BufferId bufferId) const { if(!_bufferItemCache.contains(bufferId)) return BufferInfo::InvalidBuffer; return _bufferItemCache[bufferId]->bufferType(); } -BufferInfo NetworkModel::bufferInfo(BufferId bufferId) { +BufferInfo NetworkModel::bufferInfo(BufferId bufferId) const { if(!_bufferItemCache.contains(bufferId)) return BufferInfo(); return _bufferItemCache[bufferId]->bufferInfo(); } -NetworkId NetworkModel::networkId(BufferId bufferId) { +NetworkId NetworkModel::networkId(BufferId bufferId) const { if(!_bufferItemCache.contains(bufferId)) return NetworkId(); @@ -1028,7 +1030,7 @@ NetworkId NetworkModel::networkId(BufferId bufferId) { return NetworkId(); } -QString NetworkModel::networkName(BufferId bufferId) { +QString NetworkModel::networkName(BufferId bufferId) const { if(!_bufferItemCache.contains(bufferId)) return QString(); @@ -1038,3 +1040,12 @@ QString NetworkModel::networkName(BufferId bufferId) { else return QString(); } + +BufferId NetworkModel::bufferId(NetworkId networkId, const QString &bufferName) const { + foreach(BufferItem *item, _bufferItemCache) { + NetworkItem *netItem = qobject_cast(item->parent()); + if(netItem && netItem->networkId() == networkId && item->bufferName() == bufferName) + return item->bufferId(); + } + return BufferId(); +}