Now we have a sorted nicklist and hide unused categories \o/
[quassel.git] / src / client / buffer.h
index 781a996..746ba3d 100644 (file)
@@ -22,6 +22,8 @@
 #define _BUFFER_H_
 
 class AbstractUiMsg;
+class IrcChannel;
+class NickModel;
 
 struct BufferState;
 
@@ -61,8 +63,8 @@ public:
   BufferInfo bufferInfo() const;
   void updateBufferInfo(BufferInfo bufferid);
 
-  uint uid() const;
-  uint networkId() const;
+  BufferId uid() const;
+  NetworkId networkId() const;
   
   QString networkName() const;
   QString name() const;
@@ -73,6 +75,14 @@ public:
   QString topic() const;
   QString ownNick() const;
 
+  //! Returns a pointer to the associated IrcChannel object for the buffer.
+  /** A buffer has an IrcChannel object only if it is a channel buffer
+   * (i.e. bufferType() == ChannelType), and if it is active at the moment.
+   * \returns A pointer to the associated IrcChannel object, if the buffer is a channel and online; 0 else.
+   */
+  IrcChannel *ircChannel() const;
+  NickModel *nickModel() const;
+
 signals:
   void userInput(const BufferInfo &, QString);
   void nickListChanged(QVariantMap nicks);
@@ -89,6 +99,7 @@ public slots:
   void appendMsg(const Message &);
   void prependMsg(const Message &);
   bool layoutMsg();
+  void setIrcChannel(IrcChannel *chan = 0);
 
   // no longer needed
 //   void setTopic(QString);
@@ -106,6 +117,8 @@ private:
   bool _active;
   Type _type;
   BufferState *state;
+  QPointer<IrcChannel> _ircChannel;
+  QPointer<NickModel> _nickModel;
 
   QList<Message> layoutQueue;
   QList<AbstractUiMsg *> layoutedMsgs;