// ui.ownNick->addItem(state->ownNick);
ChatWidget *chatWidget;
- if(_chatWidgets.contains(buf->uid())) {
- chatWidget = _chatWidgets[buf->uid()];
+ if(_chatWidgets.contains(buf)) {
+ chatWidget = _chatWidgets[buf];
} else {
chatWidget = new ChatWidget(this);
chatWidget->init(buf->networkName(), buf->name());
lines.append(dynamic_cast<ChatLine*>(msg));
}
chatWidget->setContents(lines);
+ connect(buf, SIGNAL(destroyed(QObject *)), this, SLOT(bufferDestroyed(QObject *)));
connect(buf, SIGNAL(msgAppended(AbstractUiMsg *)), chatWidget, SLOT(appendMsg(AbstractUiMsg *)));
connect(buf, SIGNAL(msgPrepended(AbstractUiMsg *)), chatWidget, SLOT(prependMsg(AbstractUiMsg *)));
- _chatWidgets[buf->uid()] = chatWidget;
+ _chatWidgets[buf] = chatWidget;
ui.stackedWidget->addWidget(chatWidget);
}
ui.stackedWidget->setCurrentWidget(chatWidget);
// ui.ownNick->addItem(state->ownNick);
}
+void BufferWidget::bufferDestroyed(QObject *buf) {
+ QWidget *widget = _chatWidgets[(Buffer*)buf];
+ ui.stackedWidget->removeWidget(widget);
+ widget->deleteLater();
+}
+
void BufferWidget::saveState() {
}
}
+
/*
void BufferWidget::displayMsg(Message msg) {
chatWidget->appendMsg(msg);