From: Marcus Eggenberger Date: Tue, 12 Aug 2008 22:23:07 +0000 (+0200) Subject: fixing the creating of new buffers in the client. bye bye Client::buffer(BufferId) X-Git-Tag: 0.3.0~57 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=6e50e532fa24b8e36237eb7ae9c5c9b21058519f fixing the creating of new buffers in the client. bye bye Client::buffer(BufferId) --- diff --git a/src/client/client.cpp b/src/client/client.cpp index 7cf25c10..48c471c5 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -160,15 +160,10 @@ Buffer *Client::statusBuffer(const NetworkId &networkId) const { return 0; } -Buffer *Client::buffer(BufferId bufferId) { - if(instance()->_buffers.contains(bufferId)) - return instance()->_buffers[bufferId]; - else - return 0; -} - Buffer *Client::buffer(BufferInfo bufferInfo) { - Buffer *buff = buffer(bufferInfo.bufferId()); + Buffer *buff = 0; + if(instance()->_buffers.contains(bufferInfo.bufferId())) + buff = instance()->_buffers[bufferInfo.bufferId()]; if(!buff) { Client *client = Client::instance(); diff --git a/src/client/client.h b/src/client/client.h index d8a2b4c9..edda8c6b 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -64,7 +64,7 @@ public: static QList allBufferInfos(); static QList buffers(); - static Buffer *buffer(BufferId bufferUid); + // static Buffer *buffer(BufferId bufferUid); static Buffer *buffer(BufferInfo); static QList networkIds(); diff --git a/src/client/networkmodel.cpp b/src/client/networkmodel.cpp index 3f806b5c..5c65df90 100644 --- a/src/client/networkmodel.cpp +++ b/src/client/networkmodel.cpp @@ -918,12 +918,7 @@ void NetworkModel::setLastSeenMsgId(const BufferId &bufferId, const MsgId &msgId } void NetworkModel::updateBufferActivity(const Message &msg) { - BufferItem *bufferItem = findBufferItem(msg.bufferInfo()); - if(!bufferItem) { - qDebug() << "NetworkModel::updateBufferActivity(): buffer is unknown:" << msg.bufferInfo(); - return; - } - bufferItem->updateActivityLevel(msg); + bufferItem(msg.bufferInfo())->updateActivityLevel(msg); } void NetworkModel::setBufferActivity(const BufferId &bufferId, Buffer::ActivityLevel level) { @@ -970,6 +965,20 @@ QString NetworkModel::bufferName(BufferId bufferId) { return _bufferItemCache[bufferId]->bufferName(); } +BufferInfo::Type NetworkModel::bufferType(BufferId bufferId) { + if(!_bufferItemCache.contains(bufferId)) + return BufferInfo::InvalidBuffer; + + return _bufferItemCache[bufferId]->bufferType(); +} + +BufferInfo NetworkModel::bufferInfo(BufferId bufferId) { + if(!_bufferItemCache.contains(bufferId)) + return BufferInfo(); + + return _bufferItemCache[bufferId]->bufferInfo(); +} + NetworkId NetworkModel::networkId(BufferId bufferId) { if(!_bufferItemCache.contains(bufferId)) return NetworkId(); @@ -991,10 +1000,3 @@ QString NetworkModel::networkName(BufferId bufferId) { else return QString(); } - -BufferInfo::Type NetworkModel::bufferType(BufferId bufferId) { - if(!_bufferItemCache.contains(bufferId)) - return BufferInfo::InvalidBuffer; - - return _bufferItemCache[bufferId]->bufferType(); -} diff --git a/src/client/networkmodel.h b/src/client/networkmodel.h index 1a9ace38..4ea7ddc0 100644 --- a/src/client/networkmodel.h +++ b/src/client/networkmodel.h @@ -297,10 +297,11 @@ public: Buffer::ActivityLevel bufferActivity(const BufferInfo &buffer) const; QString bufferName(BufferId bufferId); + BufferInfo::Type bufferType(BufferId bufferId); + BufferInfo bufferInfo(BufferId bufferId); MsgId lastSeenMsgId(BufferId bufferId); NetworkId networkId(BufferId bufferId); QString networkName(BufferId bufferId); - BufferInfo::Type bufferType(BufferId bufferId); public slots: void bufferUpdated(BufferInfo bufferInfo); diff --git a/src/qtui/bufferwidget.cpp b/src/qtui/bufferwidget.cpp index a18a18c9..fc063461 100644 --- a/src/qtui/bufferwidget.cpp +++ b/src/qtui/bufferwidget.cpp @@ -31,7 +31,7 @@ BufferWidget::BufferWidget(QWidget *parent) : AbstractBufferContainer(parent) { AbstractChatView *BufferWidget::createChatView(BufferId id) { ChatView *chatView; - chatView = new ChatView(Client::buffer(id), this); + chatView = new ChatView(id, this); _chatViews[id] = chatView; ui.stackedWidget->addWidget(chatView); chatView->setFocusProxy(this); diff --git a/src/qtui/chatview.cpp b/src/qtui/chatview.cpp index 6e40c099..77a0976f 100644 --- a/src/qtui/chatview.cpp +++ b/src/qtui/chatview.cpp @@ -29,12 +29,12 @@ #include "messagefilter.h" #include "quasselui.h" -ChatView::ChatView(Buffer *buf, QWidget *parent) +ChatView::ChatView(BufferId bufferId, QWidget *parent) : QGraphicsView(parent), AbstractChatView() { QList filterList; - filterList.append(buf->bufferInfo().bufferId()); + filterList.append(bufferId); MessageFilter *filter = new MessageFilter(Client::messageModel(), filterList, this); init(filter); diff --git a/src/qtui/chatview.h b/src/qtui/chatview.h index 244b5f4b..998d9fc8 100644 --- a/src/qtui/chatview.h +++ b/src/qtui/chatview.h @@ -36,7 +36,7 @@ class ChatView : public QGraphicsView, public AbstractChatView { public: ChatView(MessageFilter *, QWidget *parent = 0); - ChatView(Buffer *, QWidget *parent = 0); + ChatView(BufferId bufferId, QWidget *parent = 0); virtual MsgId lastMsgId() const; inline ChatScene *scene() const { return _scene; }