X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=gui%2Fbufferwidget.cpp;h=807dacf1391e2528ed26497acf6311509e677b80;hp=8185cbcf0e80de2ef08ad69a645f55c154fbf118;hb=3b42afc498281b97aae8a82e009770523e15d34d;hpb=9cbaab34158d0f2e77c18d6ac055582102812553 diff --git a/gui/bufferwidget.cpp b/gui/bufferwidget.cpp index 8185cbcf..807dacf1 100644 --- a/gui/bufferwidget.cpp +++ b/gui/bufferwidget.cpp @@ -42,8 +42,8 @@ BufferWidget::BufferWidget(QWidget *parent) : QWidget(parent) { void BufferWidget::init() { //layoutThread = new LayoutThread(); - layoutThread = ::layoutThread; - connect(layoutThread, SIGNAL(taskProcessed(LayoutTask)), this, SLOT(messagesLayouted(LayoutTask))); + //layoutThread = ::layoutThread; + //connect(layoutThread, SIGNAL(taskProcessed(LayoutTask)), this, SLOT(messagesLayouted(LayoutTask))); //layoutThread->start(); //while(!layoutThread->isRunning()) {}; } @@ -51,7 +51,7 @@ void BufferWidget::init() { BufferWidget::~BufferWidget() { //emit aboutToClose(); //layoutThread->wait(10000); - delete layoutThread; + //delete layoutThread; foreach(BufferState *s, states.values()) { delete s; } @@ -73,6 +73,8 @@ void BufferWidget::setBuffer(Buffer *buf) { s->nickTree->headerItem()->setHidden(true); s->nickTree->setRootIsDecorated(false); s->page = s->splitter; + s->ownNick = buf->ownNick(); + s->topic = buf->topic(); updateNickList(s, buf->nickList()); s->splitter->restoreState(s->splitterState); connect(buf, SIGNAL(nickListChanged(VarMap)), this, SLOT(updateNickList(VarMap))); @@ -82,6 +84,8 @@ void BufferWidget::setBuffer(Buffer *buf) { s->splitter = 0; s->nickTree = 0; s->chatWidget = new ChatWidget(this); s->page = s->chatWidget; + s->ownNick = buf->ownNick(); + s->topic = buf->bufferName(); } s->opsExpanded = Settings::guiValue(QString("BufferStates/%1/%2/opsExpanded").arg(buf->networkName()).arg(buf->bufferName()), true).toBool(); s->voicedExpanded = Settings::guiValue(QString("BufferStates/%1/%2/voicedExpanded").arg(buf->networkName()).arg(buf->bufferName()), true).toBool(); @@ -89,14 +93,9 @@ void BufferWidget::setBuffer(Buffer *buf) { states[buf] = s; state = s; state->chatWidget->init(networkName, bufferName); - // FIXME: layout and cache all incoming messages... maybe do this in buffer? - QList *l = buf->contents(); - state->chatWidget->appendMsgList(l); - if(chatLineCache.contains(buf)) { - state->chatWidget->prependChatLines(chatLineCache[buf]); - buf->prependMessages(msgCache[buf]); - } - connect(buf, SIGNAL(msgDisplayed(Message)), state->chatWidget, SLOT(appendMsg(Message))); + state->chatWidget->setContents(buf->contents()); + connect(buf, SIGNAL(chatLineAppended(ChatLine *)), state->chatWidget, SLOT(appendChatLine(ChatLine *))); + connect(buf, SIGNAL(chatLinePrepended(ChatLine *)), state->chatWidget, SLOT(prependChatLine(ChatLine *))); connect(buf, SIGNAL(topicSet(QString)), this, SLOT(setTopic(QString))); connect(buf, SIGNAL(ownNickSet(QString)), this, SLOT(setOwnNick(QString))); ui.stackedWidget->addWidget(s->page); @@ -112,11 +111,12 @@ void BufferWidget::setBuffer(Buffer *buf) { state->chatWidget->setFocusProxy(ui.inputEdit); ui.inputEdit->setFocus(); ui.topicEdit->setText(state->topic); - ui.ownNick->clear(); + ui.ownNick->clear(); // TODO add nick history ui.ownNick->addItem(state->ownNick); updateTitle(); } +/* void BufferWidget::prependMessages(Buffer *buf, QList messages) { LayoutTask task; task.messages = messages; @@ -136,6 +136,7 @@ void BufferWidget::messagesLayouted(LayoutTask task) { chatLineCache[task.buffer] = task.lines + chatLineCache[task.buffer]; } } +*/ void BufferWidget::saveState() { foreach(Buffer *buf, states.keys()) {