From 748f25bbae0e0ca8df58ec69df8d19c84ae77252 Mon Sep 17 00:00:00 2001 From: Marcus Eggenberger Date: Sun, 21 Oct 2007 18:59:17 +0000 Subject: [PATCH] Actually... I have nearly no clue what the changes in this revision are. Since most of the stuff I wanted to do were simply fucked up and thus I reverted them. But since there were some changes in the remaining files I thought it might be a good Idea to check those in. For example: I removed the Buffer::bufferDestroyed() signal since it's kinda dual to Buffer::destroyed(). My 2 cents. --- src/client/buffer.cpp | 11 +++++------ src/client/buffer.h | 9 ++++----- src/client/buffertreemodel.cpp | 4 ++-- src/client/client.cpp | 19 +++++++------------ src/client/client.h | 3 +-- src/qtui/bufferview.cpp | 2 +- src/qtui/bufferviewfilter.cpp | 6 +++--- src/qtui/bufferwidget.cpp | 2 +- 8 files changed, 24 insertions(+), 32 deletions(-) diff --git a/src/client/buffer.cpp b/src/client/buffer.cpp index 1561428e..b82a695e 100644 --- a/src/client/buffer.cpp +++ b/src/client/buffer.cpp @@ -31,11 +31,11 @@ Buffer::Buffer(BufferInfo bufferid, QObject *parent) _active(false) { if(bufferid.buffer().isEmpty()) - _type = ServerBuffer; + _type = StatusType; else if(isChannelName(bufferid.buffer())) - _type = ChannelBuffer; + _type = ChannelType; else - _type = QueryBuffer; + _type = QueryType; /* QSettings s; @@ -55,7 +55,6 @@ Buffer::~Buffer() { s.endGroup(); */ //delete state; - emit bufferDestroyed(this); } Buffer::Type Buffer::bufferType() const { @@ -88,7 +87,7 @@ QString Buffer::bufferName() const { } QString Buffer::displayName() const { - if(bufferType() == ServerBuffer) + if(bufferType() == StatusType) return tr("Status Buffer"); else return bufferName(); @@ -114,7 +113,7 @@ QString Buffer::ownNick() const { } bool Buffer::isStatusBuffer() const { - return bufferType() == ServerBuffer; + return bufferType() == StatusType; } void Buffer::setActive(bool a) { diff --git a/src/client/buffer.h b/src/client/buffer.h index 3465e5f2..b67a0f4a 100644 --- a/src/client/buffer.h +++ b/src/client/buffer.h @@ -38,12 +38,12 @@ class Buffer : public QObject { public: Buffer(BufferInfo, QObject *parent = 0); - ~Buffer(); + virtual ~Buffer(); enum Type { - ServerBuffer, - ChannelBuffer, - QueryBuffer + StatusType, + ChannelType, + QueryType }; enum Activity { @@ -79,7 +79,6 @@ signals: void topicSet(QString topic); void ownNickSet(QString ownNick); void bufferUpdated(Buffer *); - void bufferDestroyed(Buffer *); void msgAppended(AbstractUiMsg *); void msgPrepended(AbstractUiMsg *); diff --git a/src/client/buffertreemodel.cpp b/src/client/buffertreemodel.cpp index 26612f97..633731b5 100644 --- a/src/client/buffertreemodel.cpp +++ b/src/client/buffertreemodel.cpp @@ -91,7 +91,7 @@ QVariant BufferTreeItem::data(int column, int role) const { Qt::ItemFlags BufferTreeItem::flags() const { Qt::ItemFlags flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled; - if(buf->bufferType() == Buffer::QueryBuffer) + if(buf->bufferType() == Buffer::QueryType) flags |= Qt::ItemIsDropEnabled; return flags; @@ -209,7 +209,7 @@ bool BufferTreeModel::dropMimeData(const QMimeData *data, Qt::DropAction /*actio Buffer *sourceBuffer = static_cast(rootItem->childById(qHash(network))->child(sourcerow))->buffer(); Buffer *targetBuffer = getBufferByIndex(parent); - if(!(sourceBuffer->bufferType() & targetBuffer->bufferType() & Buffer::QueryBuffer)) // only queries can be merged + if(!(sourceBuffer->bufferType() & targetBuffer->bufferType() & Buffer::QueryType)) // only queries can be merged return false; if(sourceBuffer == targetBuffer) // we won't merge with ourself :) diff --git a/src/client/client.cpp b/src/client/client.cpp index 4a6111ee..f2d1ddd8 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -94,11 +94,8 @@ Buffer *Client::buffer(BufferInfo id) { client, SLOT(userInput(BufferInfo, QString))); connect(buff, SIGNAL(bufferUpdated(Buffer *)), client, SIGNAL(bufferUpdated(Buffer *))); - connect(buff, SIGNAL(bufferDestroyed(Buffer *)), - client, SIGNAL(bufferDestroyed(Buffer *))); - connect(buff, SIGNAL(bufferDestroyed(Buffer *)), - client, SLOT(removeBuffer(Buffer *))); - + connect(buff, SIGNAL(destroyed()), + client, SLOT(bufferDestroyed())); client->_buffers[id.uid()] = buff; emit client->bufferUpdated(buff); } @@ -269,14 +266,12 @@ void Client::coreSocketDisconnected() { _bufferModel->clear(); foreach(Buffer *buffer, _buffers.values()) { - delete buffer; + buffer->deleteLater(); } - Q_ASSERT(_buffers.empty()); foreach(NetworkInfo *networkinfo, _networkInfo.values()) { - delete networkinfo; + networkinfo->deleteLater(); } - Q_ASSERT(_networkInfo.empty()); coreConnectionInfo.clear(); sessionData.clear(); @@ -455,9 +450,9 @@ void Client::updateBufferInfo(BufferInfo id) { buffer(id)->updateBufferInfo(id); } - -void Client::removeBuffer(Buffer *b) { - _buffers.remove(b->bufferInfo().uid()); +void Client::bufferDestroyed() { + Buffer *buffer = static_cast(sender()); + _buffers.remove(_buffers.key(buffer)); } void Client::recvMessage(const Message &msg) { diff --git a/src/client/client.h b/src/client/client.h index 7970651f..7aeb548e 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -81,7 +81,6 @@ signals: void bufferSelected(Buffer *); void bufferUpdated(Buffer *); void bufferActivity(Buffer::ActivityLevel, Buffer *); - void bufferDestroyed(Buffer *); void backlogReceived(Buffer *, QList); void requestBacklog(BufferInfo, QVariant, QVariant); void requestNetworkStates(); @@ -125,7 +124,7 @@ private slots: void recvBacklogData(BufferInfo, QVariantList, bool); void updateBufferInfo(BufferInfo); - void removeBuffer(Buffer *); + void bufferDestroyed(); void layoutMsg(); diff --git a/src/qtui/bufferview.cpp b/src/qtui/bufferview.cpp index c57737f2..c60aa80f 100644 --- a/src/qtui/bufferview.cpp +++ b/src/qtui/bufferview.cpp @@ -86,7 +86,7 @@ void BufferView::dropEvent(QDropEvent *event) { void BufferView::joinChannel(const QModelIndex &index) { Buffer::Type bufferType = (Buffer::Type)index.data(BufferTreeModel::BufferTypeRole).toInt(); - if(bufferType != Buffer::ChannelBuffer) + if(bufferType != Buffer::ChannelType) return; Client::fakeInput(index.data(BufferTreeModel::BufferUidRole).toUInt(), QString("/JOIN %1").arg(index.sibling(index.row(), 0).data().toString())); diff --git a/src/qtui/bufferviewfilter.cpp b/src/qtui/bufferviewfilter.cpp index 84dc447c..4fe8fedc 100644 --- a/src/qtui/bufferviewfilter.cpp +++ b/src/qtui/bufferviewfilter.cpp @@ -109,9 +109,9 @@ void BufferViewFilter::removeBuffer(const QModelIndex &index) { bool BufferViewFilter::filterAcceptBuffer(const QModelIndex &source_bufferIndex) const { Buffer::Type bufferType = (Buffer::Type) source_bufferIndex.data(BufferTreeModel::BufferTypeRole).toInt(); - if((mode & NoChannels) && bufferType == Buffer::ChannelBuffer) return false; - if((mode & NoQueries) && bufferType == Buffer::QueryBuffer) return false; - if((mode & NoServers) && bufferType == Buffer::ServerBuffer) return false; + if((mode & NoChannels) && bufferType == Buffer::ChannelType) return false; + if((mode & NoQueries) && bufferType == Buffer::QueryType) return false; + if((mode & NoServers) && bufferType == Buffer::StatusType) return false; bool isActive = source_bufferIndex.data(BufferTreeModel::BufferActiveRole).toBool(); if((mode & NoActive) && isActive) return false; diff --git a/src/qtui/bufferwidget.cpp b/src/qtui/bufferwidget.cpp index 2deb46b3..dbeb571b 100644 --- a/src/qtui/bufferwidget.cpp +++ b/src/qtui/bufferwidget.cpp @@ -53,7 +53,7 @@ void BufferWidget::setBuffer(Buffer *buf) { } else { BufferState *s = new BufferState; s->currentLine = Settings::guiValue(QString("BufferStates/%1/%2/currentLine").arg(buf->networkName()).arg(buf->bufferName()), -1).toInt(); - if(buf->bufferType() == Buffer::ChannelBuffer) { + if(buf->bufferType() == Buffer::ChannelType) { s->splitterState = Settings::guiValue(QString("BufferStates/%1/%2/splitter").arg(buf->networkName()).arg(buf->bufferName())).toByteArray(); s->splitter = new QSplitter(this); s->chatWidget = new ChatWidget(s->splitter); -- 2.20.1