X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=gui%2Fchannelwidget.h;h=e1d2f2e26b54b9e0c718d588e5a2bdb9cabc9a71;hp=853d8a9356d34e8e1c1476f92f20bcd0c37d00e9;hb=057883f768f86257c9dbefeb5ef12403b207b773;hpb=82403b8a8777d44cbc35619e3bbd4feabfad5dc4 diff --git a/gui/channelwidget.h b/gui/channelwidget.h index 853d8a93..e1d2f2e2 100644 --- a/gui/channelwidget.h +++ b/gui/channelwidget.h @@ -22,26 +22,76 @@ #define _CHANNELWIDGET_H_ #include "ui_channelwidget.h" +#include "ui_ircwidget.h" + +#include "global.h" +#include "message.h" class ChannelWidget : public QWidget { Q_OBJECT public: - ChannelWidget(QWidget *parent = 0); + ChannelWidget(QString netname, QString bufname, QString ownNick, QWidget *parent = 0); + QString bufferName() { return _bufferName; } + QString networkName() { return _networkName; } signals: - void requestConnect(QString, quint16); - void inputLine(QString); + void sendInput(QString, QString, QString); + + public slots: + void recvMessage(Message); + void recvStatusMsg(QString msg); + void setTopic(QString); + void setNicks(QStringList); + void addNick(QString nick, VarMap props); + void removeNick(QString nick); + void updateNick(QString nick, VarMap props); + void setOwnNick(QString nick); + private slots: void enterPressed(); - void msgReceived(QString, QString, QString); - void statusMsgReceived(QString net, QString msg); + void updateNickList(); private: Ui::ChannelWidget ui; + QColor stdCol, errorCol, noticeCol, joinCol, quitCol, partCol, serverCol; + QString _networkName; + QString _bufferName; + VarMap nicks; }; +/** Temporary widget for displaying a set of ChannelWidgets. */ +class IrcWidget : public QWidget { + Q_OBJECT + + public: + IrcWidget(QWidget *parent = 0); + + public slots: + void recvMessage(QString network, QString buffer, Message message); + 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 updateNick(QString net, QString nick, VarMap props); + void setOwnNick(QString net, QString nick); + + signals: + void sendInput(QString network, QString buffer, QString message); + + private slots: + void userInput(QString, QString, QString); + + private: + Ui::IrcWidget ui; + QHash buffers; + VarMap nicks; + QString ownNick; + + ChannelWidget * getBuffer(QString net, QString buf); +}; #endif