bool Buffer::layoutMsg() {
if(layoutQueue.isEmpty())
return false;
-
+
AbstractUiMsg *m = Client::layoutMsg(layoutQueue.takeFirst());
layoutedMsgs.prepend(m);
emit msgPrepended(m);
ActivityLevel level = activityLevel() | OtherActivity;
if(msg.type() & (Message::Plain | Message::Notice | Message::Action))
level |= NewMessage;
-
+
if(msg.flags() & Message::Highlight)
level |= Highlight;
void setVisible(bool visible);
void setLastSeenMsg(const MsgId &msgId);
void setActivityLevel(ActivityLevel level);
+ void updateActivityLevel(const Message &msg);
private:
BufferInfo _bufferInfo;
QLinkedList<Message> layoutQueue;
QList<AbstractUiMsg *> layoutedMsgs;
- void updateActivityLevel(const Message &msg);
};
Q_DECLARE_OPERATORS_FOR_FLAGS(Buffer::ActivityLevel)
{
_monitorBuffer = new Buffer(BufferInfo(), this);
_signalProxy->synchronize(_ircListHelper);
-
+
connect(_backlogManager, SIGNAL(backlog(BufferId, const QVariantList &)),
this, SLOT(receiveBacklog(BufferId, const QVariantList &)));
}
Message msg = msg_;
checkForHighlight(msg);
_messageModel->insertMessage(msg);
+ buffer(msg.bufferInfo())->updateActivityLevel(msg);
}
void Client::recvStatusMsg(QString /*net*/, QString /*msg*/) {
Message msg = v.value<Message>();
checkForHighlight(msg);
_messageModel->insertMessage(msg);
+ buffer(msg.bufferInfo())->updateActivityLevel(msg);
}
//qDebug() << "processed" << msgs.count() << "backlog lines in" << start.msecsTo(QTime::currentTime());
}