X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fbuffer.cpp;fp=src%2Fclient%2Fbuffer.cpp;h=9108d690bafc6e49d972887d496a1e5d3c4299cb;hp=df7863967efcb3f8c06ca234928c14afc1af0eb4;hb=533eaaeda64759c01daa624365b8fc63eeba5ccf;hpb=94be5fb31afd8f3befa8cb2cf1b3c2e5ef3cdba5 diff --git a/src/client/buffer.cpp b/src/client/buffer.cpp index df786396..9108d690 100644 --- a/src/client/buffer.cpp +++ b/src/client/buffer.cpp @@ -30,11 +30,8 @@ Buffer::Buffer(BufferInfo bufferid, QObject *parent) : QObject(parent), - _bufferInfo(bufferid), - _isVisible(false), - _activityLevel(NoActivity) + _bufferInfo(bufferid) { - } BufferInfo Buffer::bufferInfo() const { @@ -42,49 +39,3 @@ BufferInfo Buffer::bufferInfo() const { return _bufferInfo; } -void Buffer::setVisible(bool visible) { - _isVisible = visible; - setActivityLevel(NoActivity); - if(_lastRcvdMsg.msgId() > 0) setLastSeenMsg(_lastRcvdMsg.msgId()); -} - -void Buffer::setLastSeenMsg(const MsgId &msgId) { - const MsgId oldLastSeen = lastSeenMsg(); - if(!oldLastSeen.isValid() || (msgId.isValid() && msgId > oldLastSeen)) { - _lastSeenMsg = msgId; - Client::setBufferLastSeenMsg(bufferInfo().bufferId(), msgId); - setActivityLevel(NoActivity); - } -} - -void Buffer::setActivityLevel(ActivityLevel level) { - _activityLevel = level; - if(bufferInfo().bufferId() > 0) { - Client::networkModel()->setBufferActivity(bufferInfo(), level); - } -} - -void Buffer::updateActivityLevel(const Message &msg) { - // FIXME dirty hack to allow the lastSeen stuff to continue to work - // will be made much nicer once Buffer dies, I hope... - if(msg.msgId() > _lastRcvdMsg.msgId()) _lastRcvdMsg = msg; - - if(isVisible()) - return; - - if(msg.flags() & Message::Self) // don't update activity for our own messages - return; - - if(lastSeenMsg().isValid() && lastSeenMsg() >= msg.msgId()) - return; - - ActivityLevel level = activityLevel() | OtherActivity; - if(msg.type() & (Message::Plain | Message::Notice | Message::Action)) - level |= NewMessage; - - if(msg.flags() & Message::Highlight) - level |= Highlight; - - if(level != activityLevel()) - setActivityLevel(level); -}