X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fbuffer.cpp;h=304d9ecb72c6e65af36d05c371650335a55ebfef;hp=1561428ef18f879054250dbf2ceb258894278983;hb=b173301cf898a31c19835f0512883b3ac15cdf55;hpb=52380175425bdab29f825c9cd17a0e4c1952c2db diff --git a/src/client/buffer.cpp b/src/client/buffer.cpp index 1561428e..304d9ecb 100644 --- a/src/client/buffer.cpp +++ b/src/client/buffer.cpp @@ -22,20 +22,22 @@ #include "buffer.h" #include "client.h" +#include "ircchannel.h" #include "util.h" Buffer::Buffer(BufferInfo bufferid, QObject *parent) : QObject(parent), _bufferInfo(bufferid), - _active(false) + _active(false), + _ircChannel(0) { 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 +57,6 @@ Buffer::~Buffer() { s.endGroup(); */ //delete state; - emit bufferDestroyed(this); } Buffer::Type Buffer::bufferType() const { @@ -75,6 +76,10 @@ void Buffer::updateBufferInfo(BufferInfo bufferid) { _bufferInfo = bufferid; } +uint Buffer::uid() const { + return bufferInfo().uid(); +} + uint Buffer::networkId() const { return bufferInfo().networkId(); } @@ -83,15 +88,11 @@ QString Buffer::networkName() const { return bufferInfo().network(); } -QString Buffer::bufferName() const { - return bufferInfo().buffer(); -} - -QString Buffer::displayName() const { - if(bufferType() == ServerBuffer) +QString Buffer::name() const { + if(bufferType() == StatusType) return tr("Status Buffer"); else - return bufferName(); + return bufferInfo().buffer(); } QList Buffer::contents() const { @@ -114,7 +115,7 @@ QString Buffer::ownNick() const { } bool Buffer::isStatusBuffer() const { - return bufferType() == ServerBuffer; + return bufferType() == StatusType; } void Buffer::setActive(bool a) { @@ -148,6 +149,21 @@ void Buffer::processUserInput(QString msg) { emit userInput(_bufferInfo, msg); } +IrcChannel *Buffer::ircChannel() const { + return _ircChannel; +} + +void Buffer::setIrcChannel(IrcChannel *ircchan) { + if(_ircChannel) { + disconnect(_ircChannel, 0, this, 0); + // TODO: remove model etc + } + _ircChannel = ircchan; + if(_ircChannel) { + connect(_ircChannel, SIGNAL(destroyed()), this, SLOT(setIrcChannel())); + } +} + // no longer needed // back reference: // void Buffer::setTopic(QString t) {