X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fbuffer.cpp;h=1561428ef18f879054250dbf2ceb258894278983;hp=7afc15b550ee32402f9691530d871347c4f0b2fb;hb=6609a6b6f50274e90ecca1aca2c0e2e9ad2e6327;hpb=44b22c4419f478a20f6324f9f3a700a2dec56302 diff --git a/src/client/buffer.cpp b/src/client/buffer.cpp index 7afc15b5..1561428e 100644 --- a/src/client/buffer.cpp +++ b/src/client/buffer.cpp @@ -17,22 +17,26 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ +#include + #include "buffer.h" #include "client.h" #include "util.h" -Buffer::Buffer(BufferId bufid) { - id = bufid; - _networkName = bufid.network(); - _bufferName = bufid.buffer(); - - if(_bufferName.isEmpty()) type = ServerBuffer; - else if(isChannelName(_bufferName)) type = ChannelBuffer; - else type = QueryBuffer; +Buffer::Buffer(BufferInfo bufferid, QObject *parent) + : QObject(parent), + _bufferInfo(bufferid), + _active(false) +{ + if(bufferid.buffer().isEmpty()) + _type = ServerBuffer; + else if(isChannelName(bufferid.buffer())) + _type = ChannelBuffer; + else + _type = QueryBuffer; - active = false; /* QSettings s; s.beginGroup(QString("GUI/BufferStates/%1/%2").arg(netname).arg(bufname)); @@ -43,7 +47,6 @@ Buffer::Buffer(BufferId bufid) { } Buffer::~Buffer() { - //qDebug() << "destroying buffer"; //delete widget; /* QSettings s; @@ -56,19 +59,32 @@ Buffer::~Buffer() { } Buffer::Type Buffer::bufferType() const { - return type; + return _type; } bool Buffer::isActive() const { - return active; + // FIXME determine status by checking for a networkInfo objekt + return true; +} + +BufferInfo Buffer::bufferInfo() const { + return _bufferInfo; +} + +void Buffer::updateBufferInfo(BufferInfo bufferid) { + _bufferInfo = bufferid; +} + +uint Buffer::networkId() const { + return bufferInfo().networkId(); } QString Buffer::networkName() const { - return _networkName; + return bufferInfo().network(); } QString Buffer::bufferName() const { - return _bufferName; + return bufferInfo().buffer(); } QString Buffer::displayName() const { @@ -78,24 +94,23 @@ QString Buffer::displayName() const { return bufferName(); } -BufferId Buffer::bufferId() const { - return id; -} - QList Buffer::contents() const { - return layoutedMsgs; + return layoutedMsgs; } -VarMap Buffer::nickList() const { - return nicks; +QVariantMap Buffer::nickList() const { + // FIXME should return a Map or List of IrcUsers in the future + return QVariantMap(); } QString Buffer::topic() const { - return _topic; + // FIXME check if we got a networkInfo() object + return QString(); } QString Buffer::ownNick() const { - return _ownNick; + // FIXME check if we got a networkInfo() object + return QString(); } bool Buffer::isStatusBuffer() const { @@ -103,10 +118,10 @@ bool Buffer::isStatusBuffer() const { } void Buffer::setActive(bool a) { - if(a != active) { - active = a; - emit bufferUpdated(this); - } +// if(a != active) { +// active = a; +// emit bufferUpdated(this); +// } } void Buffer::appendMsg(const Message &msg) { @@ -130,39 +145,41 @@ bool Buffer::layoutMsg() { void Buffer::processUserInput(QString msg) { // TODO User Input processing (plugins) -> well, this goes through MainWin into Core for processing... so... - emit userInput(id, msg); -} - -void Buffer::setTopic(QString t) { - _topic = t; - emit topicSet(t); - emit bufferUpdated(this); -} - -void Buffer::addNick(QString nick, VarMap props) { - if(nick == ownNick()) setActive(true); - nicks[nick] = props; - emit nickListChanged(nicks); -} - -void Buffer::updateNick(QString nick, VarMap props) { - nicks[nick] = props; - emit nickListChanged(nicks); -} - -void Buffer::renameNick(QString oldnick, QString newnick) { - QVariant v = nicks.take(oldnick); - nicks[newnick] = v; - emit nickListChanged(nicks); -} - -void Buffer::removeNick(QString nick) { - if(nick == ownNick()) setActive(false); - nicks.remove(nick); - emit nickListChanged(nicks); -} - -void Buffer::setOwnNick(QString nick) { - _ownNick = nick; - emit ownNickSet(nick); -} + emit userInput(_bufferInfo, msg); +} + +// no longer needed +// back reference: +// void Buffer::setTopic(QString t) { +// _topic = t; +// emit topicSet(t); +// emit bufferUpdated(this); +// } + +// void Buffer::addNick(QString nick, QVariantMap props) { +// if(nick == ownNick()) setActive(true); +// nicks[nick] = props; +// emit nickListChanged(nicks); +// } + +// void Buffer::updateNick(QString nick, QVariantMap props) { +// nicks[nick] = props; +// emit nickListChanged(nicks); +// } + +// void Buffer::renameNick(QString oldnick, QString newnick) { +// QVariant v = nicks.take(oldnick); +// nicks[newnick] = v; +// emit nickListChanged(nicks); +// } + +// void Buffer::removeNick(QString nick) { +// if(nick == ownNick()) setActive(false); +// nicks.remove(nick); +// emit nickListChanged(nicks); +// } + +// void Buffer::setOwnNick(QString nick) { +// _ownNick = nick; +// emit ownNickSet(nick); +// }