BufferItem::BufferItem(BufferInfo bufferInfo, AbstractTreeItem *parent)
: PropertyMapItem(QStringList() << "bufferName" << "topic" << "nickCount", parent),
_bufferInfo(bufferInfo),
+ _bufferName(bufferInfo.bufferName()),
_activity(Buffer::NoActivity)
{
Qt::ItemFlags flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled;
if(bufferType() == BufferInfo::StatusBuffer)
return tr("Status Buffer");
else
- return bufferInfo().bufferName();
+ return _bufferName;
+}
+
+void BufferItem::setBufferName(const QString &name) {
+ _bufferName = name;
+ // as long as we need those bufferInfos, we have to update that one aswell.
+ // pretty ugly though :/
+ _bufferInfo = BufferInfo(_bufferInfo.bufferId(), _bufferInfo.networkId(), _bufferInfo.type(), _bufferInfo.groupId(), _bufferInfo.bufferName());
+ emit dataChanged(0);
}
QString BufferItem::topic() const {
connect(ircUser, SIGNAL(nickSet(QString)),
this, SLOT(setNick(QString)));
+ connect(ircUser, SIGNAL(awaySet(bool)),
+ this, SLOT(setAway(bool)));
}
QString IrcUserItem::nickName() const {
emit dataChanged(0);
}
+void IrcUserItem::setAway(bool away) {
+ Q_UNUSED(away);
+ emit dataChanged(0);
+}
+
/*****************************************
* NetworkModel
*****************************************/
emit dataChanged(itemindex, itemindex);
}
+void NetworkModel::removeBuffer(BufferId bufferId) {
+ const int numNetworks = rootItem->childCount();
+ if(numNetworks == 0)
+ return;
+
+ for(int i = 0; i < numNetworks; i++) {
+ if(rootItem->child(i)->removeChildById(qHash(bufferId)))
+ break;
+ }
+}
+
/*
void NetworkModel::updateBufferActivity(const Message &msg) {
BufferItem *buff = bufferItem(msg.bufferInfo());