X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=gui%2Fbuffer.cpp;h=cf764c1b574efe373b15a38862376784ae67f82a;hb=9d4be7eefb855df7efe6d140bc498cc574140466;hp=7c92ac665bdcaf37c3e5d88671fcdabbaff293d2;hpb=2a068c11e76c7b34afb64d443dbb1afd2e208aaa;p=quassel.git diff --git a/gui/buffer.cpp b/gui/buffer.cpp index 7c92ac66..cf764c1b 100644 --- a/gui/buffer.cpp +++ b/gui/buffer.cpp @@ -23,12 +23,21 @@ #include "chatwidget.h" #include "bufferwidget.h" +/* Buffer::Buffer(QString netname, QString bufname) { - _networkName = netname; - _bufferName = bufname; + Buffer(BufferId(0, netname, bufname)); + + +} +*/ + +Buffer::Buffer(BufferId bufid) { + id = bufid; + _networkName = bufid.network(); + _bufferName = bufid.buffer(); - if(bufname.isEmpty()) type = ServerBuffer; - else if(isChannelName(bufname)) type = ChannelBuffer; + if(_bufferName.isEmpty()) type = ServerBuffer; + else if(isChannelName(_bufferName)) type = ChannelBuffer; else type = QueryBuffer; active = false; @@ -58,6 +67,13 @@ void Buffer::init() { } +QString Buffer::displayName() { + if(bufferType() == ServerBuffer) + return tr("status"); + else + return bufferName(); +} + void Buffer::setActive(bool a) { if(a != active) { active = a; @@ -65,18 +81,19 @@ void Buffer::setActive(bool a) { } } -void Buffer::displayMsg(Message msg) { - contents()->append(msg); - emit msgDisplayed(msg); +void Buffer::appendChatLine(ChatLine *line) { + lines.append(line); + emit chatLineAppended(line); } -void Buffer::prependMessages(QList msgs) { - _contents = msgs + _contents; +void Buffer::prependChatLine(ChatLine *line) { + lines.prepend(line); + emit chatLinePrepended(line); } void Buffer::processUserInput(QString msg) { // TODO User Input processing (plugins) -> well, this goes through MainWin into Core for processing... so... - emit userInput(networkName(), bufferName(), msg); + emit userInput(id, msg); } void Buffer::setTopic(QString t) {