QTfrontend/net/newnetclient.cpp
changeset 6733 5abbc345a82f
parent 6732 c906dc78091f
child 6735 050237b1500f
equal deleted inserted replaced
6732:c906dc78091f 6733:5abbc345a82f
   255             // TODO: Warn user, disconnect
   255             // TODO: Warn user, disconnect
   256             qWarning() << "Server too old";
   256             qWarning() << "Server too old";
   257         }
   257         }
   258 
   258 
   259         RawSendNet(QString("NICK%1%2").arg(delimeter).arg(mynick));
   259         RawSendNet(QString("NICK%1%2").arg(delimeter).arg(mynick));
   260         RawSendNet(QString("PROTO%1%2").arg(delimeter).arg(*cProtoVer));
   260         RawSendNet(QString("PROTO%1%2").arg(delimeter).arg("41"));
   261         netClientState = Connected;
   261         netClientState = Connected;
   262         m_game_connected = true;
   262         m_game_connected = true;
   263         emit adminAccess(false);
   263         emit adminAccess(false);
   264         return;
   264         return;
   265     }
   265     }
   273         return;
   273         return;
   274     }
   274     }
   275 
   275 
   276     if (lst[0] == "ROOMS")
   276     if (lst[0] == "ROOMS")
   277     {
   277     {
       
   278         if(lst.size() % 8 != 1)
       
   279         {
       
   280             qWarning("Net: Malformed ROOMS message");
       
   281             return;
       
   282         }
   278         QStringList tmp = lst;
   283         QStringList tmp = lst;
   279         tmp.removeFirst();
   284         tmp.removeFirst();
   280         emit roomsList(tmp);
   285         m_roomsListModel->setRoomsList(tmp);
   281         return;
   286         return;
   282     }
   287     }
   283 
   288 
   284     if (lst[0] == "SERVER_MESSAGE")
   289     if (lst[0] == "SERVER_MESSAGE")
   285     {
   290     {
   476         else
   481         else
   477             emit chatStringFromNet(tr("%1 *** %2 has left (%3)").arg('\x03').arg(lst[1], lst[2]));
   482             emit chatStringFromNet(tr("%1 *** %2 has left (%3)").arg('\x03').arg(lst[1], lst[2]));
   478         return;
   483         return;
   479     }
   484     }
   480 
   485 
   481     if(lst[0] == "ROOM")
   486     if(lst[0] == "ROOM" && lst.size() == 10 && lst[1] == "ADD")
   482     {
   487     {
   483         if(lst.size() < 2)
   488         QStringList tmp = lst;
   484         {
   489         tmp.removeFirst();
   485             qWarning("Net: Bad ROOM message");
   490         tmp.removeFirst();
   486             return;
   491 
   487         }
   492         m_roomsListModel->addRoom(tmp);
   488         RawSendNet(QString("LIST"));
   493         return;
       
   494     }
       
   495 
       
   496     if(lst[0] == "ROOM" && lst.size() == 11 && lst[1] == "UPD")
       
   497     {
       
   498         QStringList tmp = lst;
       
   499         tmp.removeFirst();
       
   500         tmp.removeFirst();
       
   501 
       
   502         QString roomName = tmp.takeFirst();
       
   503         m_roomsListModel->updateRoom(roomName, tmp);
       
   504         return;
       
   505     }
       
   506 
       
   507     if(lst[0] == "ROOM" && lst.size() == 3 && lst[1] == "DEL")
       
   508     {
       
   509         m_roomsListModel->removeRoom(lst[2]);
   489         return;
   510         return;
   490     }
   511     }
   491 
   512 
   492     if(lst[0] == "LOBBY:LEFT")
   513     if(lst[0] == "LOBBY:LEFT")
   493     {
   514     {