X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=gui%2Fchannelwidget.h;h=936cf5f4e85f7af9adffc70f8080ffc8a729cb47;hp=3d36cf85b9bd3eb1931aa80393d679a0d4cef01f;hb=c69e4d8146bb92a61cc5d43cbb71cb1912567bee;hpb=925b072e5c7bc38949995902cf7af6e4644c2c55 diff --git a/gui/channelwidget.h b/gui/channelwidget.h index 3d36cf85..936cf5f4 100644 --- a/gui/channelwidget.h +++ b/gui/channelwidget.h @@ -22,16 +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 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; + + 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