-void Client::recvMessage(const Message &message) {
- Message msg = message;
- Buffer *b;
-
- if(msg.type() == Message::Error) {
- b = buffer(msg.bufferInfo().bufferId());
- if(!b) {
- // FIXME: if buffer doesn't exist, forward the message to the status or current buffer
- b = buffer(msg.bufferInfo());
- }
- } else {
- b = buffer(msg.bufferInfo());
- }
-
- checkForHighlight(msg);
- b->appendMsg(msg);
- //bufferModel()->updateBufferActivity(msg);
-
- if(msg.type() == Message::Plain || msg.type() == Message::Notice || msg.type() == Message::Action) {
- const Network *net = network(msg.bufferInfo().networkId());
- QString networkName = net != 0
- ? net->networkName() + ":"
- : QString();
- QString sender = networkName + msg.bufferInfo().bufferName() + ":" + msg.sender();
- Message mmsg = Message(msg.timestamp(), msg.bufferInfo(), msg.type(), msg.text(), sender, msg.flags());
- monitorBuffer()->appendMsg(mmsg);
- }
-}
-