+void ChannelWidget::recvStatusMsg(QString msg) {
+ ui.chatWidget->insertPlainText(QString("[STATUS] %1").arg(msg));
+ ui.chatWidget->ensureCursorVisible();
+}
+
+void ChannelWidget::setTopic(QString topic) {
+ ui.topicEdit->setText(topic);
+}
+
+void ChannelWidget::setNicks(QStringList nicks) {
+
+
+}
+
+/**********************************************************************************************/
+
+
+IrcWidget::IrcWidget(QWidget *parent) : QWidget(parent) {
+ ui.setupUi(this);
+ ui.tabWidget->removeTab(0);
+
+ connect(guiProxy, SIGNAL(csSendMessage(QString, QString, Message)), this, SLOT(recvMessage(QString, QString, Message)));
+ connect(guiProxy, SIGNAL(csSendStatusMsg(QString, QString)), this, SLOT(recvStatusMsg(QString, QString)));
+ connect(guiProxy, SIGNAL(csSetTopic(QString, QString, QString)), this, SLOT(setTopic(QString, QString, QString)));
+ connect(guiProxy, SIGNAL(csSetNicks(QString, QString, QStringList)), this, SLOT(setNicks(QString, QString, QStringList)));
+ connect(this, SIGNAL(sendMessage( QString, QString, QString )), guiProxy, SLOT(gsUserInput(QString, QString, QString)));
+}
+
+ChannelWidget * IrcWidget::getBuffer(QString net, QString buf) {
+ QString key = net + buf;
+ if(!buffers.contains(key)) {
+ ChannelWidget *cw = new ChannelWidget(net, buf);
+ connect(cw, SIGNAL(sendMessage(QString, QString, QString)), this, SLOT(userInput(QString, QString, QString)));
+ ui.tabWidget->addTab(cw, net+buf);
+ ui.tabWidget->setCurrentWidget(cw);
+ //cw->setFocus();
+ buffers[key] = cw;
+ }
+ return buffers[key];
+}
+
+
+void IrcWidget::recvMessage(QString net, QString buf, Message msg) {
+ ChannelWidget *cw = getBuffer(net, buf);
+ cw->recvMessage(msg);
+}
+
+void IrcWidget::recvStatusMsg(QString net, QString msg) {
+ recvMessage(net, "", QString("[STATUS] %1").arg(msg));
+