+void NetworkItem::attachNetwork(Network *network) {
+ if(!network)
+ return;
+
+ _network = network;
+
+ connect(network, SIGNAL(networkNameSet(QString)),
+ this, SLOT(setNetworkName(QString)));
+ connect(network, SIGNAL(currentServerSet(QString)),
+ this, SLOT(setCurrentServer(QString)));
+ connect(network, SIGNAL(ircChannelAdded(QString)),
+ this, SLOT(attachIrcChannel(QString)));
+ connect(network, SIGNAL(connectedSet(bool)),
+ this, SIGNAL(dataChanged()));
+ connect(network, SIGNAL(destroyed()),
+ this, SIGNAL(dataChanged()));
+
+ emit dataChanged();
+}
+
+void NetworkItem::attachIrcChannel(const QString &channelName) {
+ IrcChannel *ircChannel = _network->ircChannel(channelName);
+ if(!ircChannel) {
+ qWarning() << "NetworkItem::attachIrcChannel(): unkown Channel" << channelName;
+ return;
+ }
+
+ BufferItem *bufferItem;
+ for(int i = 0; i < childCount(); i++) {
+ bufferItem = qobject_cast<BufferItem *>(child(i));
+ if(bufferItem->bufferName().toLower() == ircChannel->name().toLower()) {
+ bufferItem->attachIrcChannel(ircChannel);
+ break;
+ }
+ }
+}
+
+void NetworkItem::setNetworkName(const QString &networkName) {
+ Q_UNUSED(networkName);
+ emit dataChanged(0);
+}
+
+void NetworkItem::setCurrentServer(const QString &serverName) {
+ Q_UNUSED(serverName);
+ emit dataChanged(1);
+}
+
+
+QString NetworkItem::toolTip(int column) const {
+ 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()));
+
+ return QString("<p> %1 </p>").arg(toolTip.join("<br />"));