+ virtual inline QString bufferName() const { return tr("Status Buffer"); }
+};
+
+/*****************************************
+* QueryBufferItem
+*****************************************/
+class QueryBufferItem : public BufferItem {
+ Q_OBJECT
+
+public:
+ QueryBufferItem(const BufferInfo &bufferInfo, NetworkItem *parent);
+
+ virtual QVariant data(int column, int role) const;
+ virtual bool setData(int column, const QVariant &value, int role);
+
+ virtual inline bool isActive() const { return (bool)_ircUser; }
+ virtual QString toolTip(int column) const;
+
+ virtual void setBufferName(const QString &name);
+
+public slots:
+ void setIrcUser(IrcUser *ircUser);
+ void removeIrcUser();
+
+private:
+ IrcUser *_ircUser;
+};
+
+/*****************************************
+* ChannelBufferItem
+*****************************************/
+class UserCategoryItem;
+
+class ChannelBufferItem : public BufferItem {
+ Q_OBJECT
+
+public:
+ ChannelBufferItem(const BufferInfo &bufferInfo, AbstractTreeItem *parent);
+
+ virtual QVariant data(int column, int role) const;
+ virtual inline bool isActive() const { return (bool)_ircChannel; }
+ virtual QString toolTip(int column) const;
+
+ virtual inline QString topic() const { return (bool)_ircChannel ? _ircChannel->topic() : QString(); }
+ virtual inline int nickCount() const { return (bool)_ircChannel ? _ircChannel->ircUsers().count() : 0; }
+
+ void attachIrcChannel(IrcChannel *ircChannel);