X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=gui%2Fchannelwidget.h;h=936cf5f4e85f7af9adffc70f8080ffc8a729cb47;hp=853d8a9356d34e8e1c1476f92f20bcd0c37d00e9;hb=c69e4d8146bb92a61cc5d43cbb71cb1912567bee;hpb=82403b8a8777d44cbc35619e3bbd4feabfad5dc4 diff --git a/gui/channelwidget.h b/gui/channelwidget.h index 853d8a93..936cf5f4 100644 --- a/gui/channelwidget.h +++ b/gui/channelwidget.h @@ -22,26 +22,87 @@ #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); + 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 msgReceived(QString, QString, QString); - void statusMsgReceived(QString net, QString msg); + void updateNickList(); + + void itemExpansionChanged(QTreeWidgetItem *); private: Ui::ChannelWidget ui; + 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. */ +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 renameNick(QString net, QString oldnick, QString newnick); + 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; + QHash ownNick; + + ChannelWidget * getBuffer(QString net, QString buf); +}; #endif