+ inline bool isActive() const { return (bool)_network ? _network->isConnected() : false; }
+
+ inline const NetworkId &networkId() const { return _networkId; }
+ inline QString networkName() const { return (bool)_network ? _network->networkName() : QString(); }
+ inline QString currentServer() const { return (bool)_network ? _network->currentServer() : QString(); }
+ inline int nickCount() const { return (bool)_network ? _network->ircUsers().count() : 0; }
+
+ virtual QString toolTip(int column) const;
+
+ BufferItem *findBufferItem(BufferId bufferId);
+ inline BufferItem *findBufferItem(const BufferInfo &bufferInfo) { return findBufferItem(bufferInfo.bufferId()); }
+ BufferItem *bufferItem(const BufferInfo &bufferInfo);
+ inline StatusBufferItem *statusBufferItem() const { return _statusBufferItem; }
+
+public slots:
+ void setNetworkName(const QString &networkName);
+ void setCurrentServer(const QString &serverName);
+
+ void attachNetwork(Network *network);
+ void attachIrcChannel(IrcChannel *channel);
+ void attachIrcUser(IrcUser *ircUser);
+
+signals:
+ void networkDataChanged(int column = -1);
+
+private slots:
+ void onBeginRemoveChilds(int start, int end);
+
+private:
+ NetworkId _networkId;
+ StatusBufferItem *_statusBufferItem;
+
+ QPointer<Network> _network;
+};