X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fbuffer.cpp;h=1fb07971aeeab45b593a615c377fd0caca87743c;hp=7f4d885a71cd02c0a5e1ad6dca70a45216836515;hb=902c95728306e5ba115de84800fc8d5d239c9d62;hpb=0ac9ce4d7cf768d13993d6aa1d6b791c4149a843 diff --git a/src/client/buffer.cpp b/src/client/buffer.cpp index 7f4d885a..1fb07971 100644 --- a/src/client/buffer.cpp +++ b/src/client/buffer.cpp @@ -23,16 +23,18 @@ #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)); @@ -55,19 +57,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 { @@ -77,24 +92,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 { @@ -102,10 +116,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) { @@ -129,39 +143,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); +// }