QTfrontend/net/newnetclient.cpp
changeset 15915 35d26863a88e
parent 15909 7409084d891f
equal deleted inserted replaced
15914:08b88572b1c2 15915:35d26863a88e
   424         {
   424         {
   425             qWarning("Net: Empty CHAT message");
   425             qWarning("Net: Empty CHAT message");
   426             return;
   426             return;
   427         }
   427         }
   428 
   428 
       
   429         bool isIgnored = false;
   429         QString action;
   430         QString action;
   430         QString message;
   431         QString message;
   431         QString sender = lst[1];
   432         QString sender = lst[1];
   432         // '[' is a special character used in fake nick names of server messages.
   433         // '[' is a special character used in fake nick names of server messages.
   433         // Those are supposed to be translated
   434         // Those are supposed to be translated
   436             // Normal message
   437             // Normal message
   437             message = lst[2];
   438             message = lst[2];
   438             // Another kind of fake nick. '(' nicks are server messages, but they must not be translated
   439             // Another kind of fake nick. '(' nicks are server messages, but they must not be translated
   439             if(!sender.startsWith('('))
   440             if(!sender.startsWith('('))
   440             {
   441             {
       
   442                 isIgnored = m_playersModel->isFlagSet(sender, PlayersListModel::Ignore);
   441                 // Check for action (/me command)
   443                 // Check for action (/me command)
   442                 action = HWProto::chatStringToAction(message);
   444                 action = HWProto::chatStringToAction(message);
   443             }
   445             }
   444             else
   446             else
   445             {
   447             {
   463             else
   465             else
   464                 emit lobbyChatMessage(sender, message);
   466                 emit lobbyChatMessage(sender, message);
   465         }
   467         }
   466         else
   468         else
   467         {
   469         {
   468             emit chatStringFromNet(HWProto::formatChatMsg(sender, message));
   470             if (isIgnored)
       
   471                 emit chatStringFromNetIgnored(HWProto::formatChatMsg(sender, message));
       
   472             else
       
   473                 emit chatStringFromNet(HWProto::formatChatMsg(sender, message));
   469             if (!action.isNull())
   474             if (!action.isNull())
   470                 emit roomChatAction(sender, action);
   475                 emit roomChatAction(sender, action);
   471             else
   476             else
   472                 emit roomChatMessage(sender, message);
   477                 emit roomChatMessage(sender, message);
   473         }
   478         }
   490         {
   495         {
   491             emit lobbyDirectMessage(nick, message, isEcho);
   496             emit lobbyDirectMessage(nick, message, isEcho);
   492         }
   497         }
   493         else
   498         else
   494         {
   499         {
   495             emit chatStringFromNet(HWProto::formatDirectMsg(mynick, nick, message, isEcho));
   500             bool isIgnored = m_playersModel->isFlagSet(nick, PlayersListModel::Ignore) && !isEcho;
       
   501             QString formattedMsg = HWProto::formatDirectMsg(mynick, nick, message, isEcho);
       
   502             if (isIgnored)
       
   503                 emit chatStringFromNetIgnored(formattedMsg);
       
   504             else
       
   505                 emit chatStringFromNet(formattedMsg);
   496             emit roomDirectMessage(nick, message, isEcho);
   506             emit roomDirectMessage(nick, message, isEcho);
   497         }
   507         }
   498         return;
   508         return;
   499     }
   509     }
   500 
   510