diff -r 266df6d5ed73 -r 1a4b9b9fe2b0 QTfrontend/net/newnetclient.cpp --- a/QTfrontend/net/newnetclient.cpp Wed Mar 20 09:13:05 2013 +0400 +++ b/QTfrontend/net/newnetclient.cpp Wed Mar 20 23:18:46 2013 +0100 @@ -336,10 +336,24 @@ qWarning("Net: Empty CHAT message"); return; } + + QString action = HWProto::chatStringToAction(lst[2]); + if (netClientState == InLobby) - emit chatStringLobby(lst[1], HWProto::formatChatMsgForFrontend(lst[2])); + { + if (action != NULL) + emit lobbyChatAction(lst[1], action); + else + emit lobbyChatMessage(lst[1], lst[2]); + } else + { emit chatStringFromNet(HWProto::formatChatMsg(lst[1], lst[2])); + if (action != NULL) + emit roomChatAction(lst[1], action); + else + emit roomChatMessage(lst[1], lst[2]); + } return; } @@ -350,12 +364,13 @@ qWarning("Net: Malformed INFO message"); return; } - QStringList tmp = lst; - tmp.removeFirst(); - if (netClientState == InLobby) - emit chatStringLobby(tmp.join("\n").prepend('\x01')); - else + emit playerInfo(lst[1], lst[2], lst[3], lst[4]); + if (netClientState != InLobby) + { + QStringList tmp = lst; + tmp.removeFirst(); emit chatStringFromNet(tmp.join("\n").prepend('\x01')); + } return; } @@ -492,7 +507,6 @@ m_playersModel->addPlayer(lst[i]); emit nickAddedLobby(lst[i], false); - emit chatStringLobby(lst[i], tr("%1 *** %2 has joined").arg('\x03').arg("|nick|")); } return; } @@ -539,11 +553,11 @@ qWarning("Net: Bad LOBBY:LEFT message"); return; } - emit nickRemovedLobby(lst[1]); + if (lst.size() < 3) - emit chatStringLobby(tr("%1 *** %2 has left").arg('\x03').arg(lst[1])); + emit nickRemovedLobby(lst[1]); else - emit chatStringLobby(lst[1], tr("%1 *** %2 has left (%3)").arg('\x03').arg("|nick|", lst[2])); + emit nickRemovedLobby(lst[1], lst[2]); m_playersModel->removePlayer(lst[1]); @@ -841,7 +855,11 @@ if(str != "") { RawSendNet(QString("CHAT") + delimeter + str); - emit(chatStringFromMe(HWProto::formatChatMsg(mynick, str))); + QString action = HWProto::chatStringToAction(str); + if (action != NULL) + emit(roomChatAction(mynick, action)); + else + emit(roomChatMessage(mynick, str)); } } @@ -850,7 +868,11 @@ if(str != "") { RawSendNet(QString("CHAT") + delimeter + str); - emit chatStringLobby(mynick, HWProto::formatChatMsgForFrontend(str)); + QString action = HWProto::chatStringToAction(str); + if (action != NULL) + emit(lobbyChatAction(mynick, action)); + else + emit(lobbyChatMessage(mynick, str)); } }