X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fqtopia%2Fmainwidget.cpp;h=4fde19b7f57b34db7fb512e612d34607868a59c6;hb=38090a4af09e05763abf43bf95cd7d4696381a09;hp=b083a8ecb07d3f41aba572b390d744ee7f038602;hpb=69952553cf2f5248a0c7e964d6d5844065d26612;p=quassel.git diff --git a/src/qtopia/mainwidget.cpp b/src/qtopia/mainwidget.cpp index b083a8ec..4fde19b7 100644 --- a/src/qtopia/mainwidget.cpp +++ b/src/qtopia/mainwidget.cpp @@ -1,11 +1,11 @@ /*************************************************************************** - * Copyright (C) 2005-07 by the Quassel IRC Team * + * Copyright (C) 2005-08 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * + * (at your option) version 3. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * @@ -37,6 +37,11 @@ MainWidget::~MainWidget() { } void MainWidget::setBuffer(Buffer *buf) { + if(!buf) { + ui.stack->setCurrentIndex(0); + currentBuffer = 0; + return; + } // TODO update topic if changed; handle status buffer display QString title = QString("%1 (%2): \"%3\"").arg(buf->name()).arg(buf->networkName()).arg(buf->topic()); ui.topicBar->setContents(title); @@ -50,15 +55,15 @@ void MainWidget::setBuffer(Buffer *buf) { ChatWidget *chatWidget; if(!chatWidgets.contains(buf)) { chatWidget = new ChatWidget(this); - QList lines; + QList lines; QList msgs = buf->contents(); foreach(AbstractUiMsg *msg, msgs) { - lines.append((ChatLine*)(msg)); + lines.append((ChatLineOld*)(msg)); } chatWidget->setContents(lines); connect(buf, SIGNAL(msgAppended(AbstractUiMsg *)), chatWidget, SLOT(appendMsg(AbstractUiMsg *))); connect(buf, SIGNAL(msgPrepended(AbstractUiMsg *)), chatWidget, SLOT(prependMsg(AbstractUiMsg *))); - //connect(buf, SIGNAL(topicSet(QString)), this, SLOT(setTopic(QString))); + connect(buf, SIGNAL(topicSet(QString)), this, SLOT(setTopic(QString))); //connect(buf, SIGNAL(ownNickSet(QString)), this, SLOT(setOwnNick(QString))); ui.stack->addWidget(chatWidget); chatWidgets.insert(buf, chatWidget); @@ -78,3 +83,12 @@ void MainWidget::enterPressed() { } ui.inputLine->clear(); } + +// FIXME make this more elegant, we don't need to send a string around... +void MainWidget::setTopic(QString topic) { + Q_UNUSED(topic); + if(currentBuffer) { + QString title = QString("%1 (%2): \"%3\"").arg(currentBuffer->name()).arg(currentBuffer->networkName()).arg(currentBuffer->topic()); + ui.topicBar->setContents(title); + } +}