activated()->triggered()
[quassel.git] / gui / channelwidget.h
index 7338ecd..936cf5f 100644 (file)
 #include "ui_channelwidget.h"
 #include "ui_ircwidget.h"
 
+#include "global.h"
 #include "message.h"
 
 class ChannelWidget : public QWidget {
   Q_OBJECT
 
   public:
-    ChannelWidget(QString netname, QString bufname, QWidget *parent = 0);
+    ChannelWidget(QString netname, QString bufname, QString ownNick, QWidget *parent = 0);
 
     QString bufferName() { return _bufferName; }
     QString networkName() { return _networkName; }
+
   signals:
-    void sendMessage(QString, QString, QString);
+    void sendInput(QString, QString, QString);
+    void nickListChanged(QStringList);
 
   public slots:
     void recvMessage(Message);
     void recvStatusMsg(QString msg);
     void setTopic(QString);
     void setNicks(QStringList);
+    void addNick(QString nick, VarMap props);
+    void renameNick(QString oldnick, QString newnick);
+    void removeNick(QString nick);
+    void updateNick(QString nick, VarMap props);
+    void setOwnNick(QString nick);
+
 
   private slots:
     void enterPressed();
+    void updateNickList();
+
+    void itemExpansionChanged(QTreeWidgetItem *);
 
   private:
     Ui::ChannelWidget ui;
 
-    QColor stdCol, errorCol, noticeCol, joinCol, quitCol, partCol, serverCol;
+    QString stdCol, errorCol, noticeCol, joinCol, quitCol, partCol, kickCol, serverCol, nickCol;
+    QString CSS;
     QString _networkName;
     QString _bufferName;
+    VarMap nicks;
+
+    QCompleter *completer;
+
+    bool opsExpanded, voicedExpanded, usersExpanded;
 };
 
 /** Temporary widget for displaying a set of ChannelWidgets. */
@@ -66,9 +84,14 @@ class IrcWidget : public QWidget {
     void recvStatusMsg(QString network, QString message);
     void setTopic(QString, QString, QString);
     void setNicks(QString, QString, QStringList);
+    void addNick(QString net, QString nick, VarMap props);
+    void removeNick(QString net, QString nick);
+    void renameNick(QString net, QString oldnick, QString newnick);
+    void updateNick(QString net, QString nick, VarMap props);
+    void setOwnNick(QString net, QString nick);
 
   signals:
-    void sendMessage(QString network, QString buffer, QString message);
+    void sendInput(QString network, QString buffer, QString message);
 
   private slots:
     void userInput(QString, QString, QString);
@@ -76,6 +99,8 @@ class IrcWidget : public QWidget {
   private:
     Ui::IrcWidget ui;
     QHash<QString, ChannelWidget *> buffers;
+    VarMap nicks;
+    QHash<QString, QString> ownNick;
 
     ChannelWidget * getBuffer(QString net, QString buf);
 };