QTfrontend/newnetclient.cpp
changeset 383 09a8795105a4
parent 382 e7220e48ead1
child 391 e7565bb852a2
equal deleted inserted replaced
382:e7220e48ead1 383:09a8795105a4
    30 
    30 
    31 HWNewNet::HWNewNet(GameUIConfig * config, GameCFGWidget* pGameCFGWidget, TeamSelWidget* pTeamSelWidget) :
    31 HWNewNet::HWNewNet(GameUIConfig * config, GameCFGWidget* pGameCFGWidget, TeamSelWidget* pTeamSelWidget) :
    32   config(config),
    32   config(config),
    33   m_pGameCFGWidget(pGameCFGWidget),
    33   m_pGameCFGWidget(pGameCFGWidget),
    34   m_pTeamSelWidget(pTeamSelWidget),
    34   m_pTeamSelWidget(pTeamSelWidget),
    35   isChief(false)
    35   isChief(false),
       
    36   m_game_connected(false)
    36 {
    37 {
    37   connect(&NetSocket, SIGNAL(readyRead()), this, SLOT(ClientRead()));
    38   connect(&NetSocket, SIGNAL(readyRead()), this, SLOT(ClientRead()));
    38   connect(&NetSocket, SIGNAL(connected()), this, SLOT(OnConnect()));
    39   connect(&NetSocket, SIGNAL(connected()), this, SLOT(OnConnect()));
    39   connect(&NetSocket, SIGNAL(disconnected()), this, SLOT(OnDisconnect()));
    40   connect(&NetSocket, SIGNAL(disconnected()), this, SLOT(OnDisconnect()));
    40   connect(&NetSocket, SIGNAL(error(QAbstractSocket::SocketError)), this,
    41   connect(&NetSocket, SIGNAL(error(QAbstractSocket::SocketError)), this,
    48   mynick = nick;
    49   mynick = nick;
    49 }
    50 }
    50 
    51 
    51 void HWNewNet::Disconnect()
    52 void HWNewNet::Disconnect()
    52 {
    53 {
    53   NetSocket.disconnect();
    54   NetSocket.disconnectFromHost();
    54 }
    55 }
    55 
    56 
    56 void HWNewNet::JoinGame(const QString & game)
    57 void HWNewNet::JoinGame(const QString & game)
    57 {
    58 {
    58   RawSendNet(QString("JOIN %1").arg(game));
    59   RawSendNet(QString("JOIN %1").arg(game));
   121 }
   122 }
   122 
   123 
   123 void HWNewNet::OnDisconnect()
   124 void HWNewNet::OnDisconnect()
   124 {
   125 {
   125   //emit ChangeInTeams(QStringList());
   126   //emit ChangeInTeams(QStringList());
   126   emit Disconnected();
   127   if(m_game_connected) emit Disconnected();
       
   128   m_game_connected=false;
   127 }
   129 }
   128 
   130 
   129 void HWNewNet::displayError(QAbstractSocket::SocketError socketError)
   131 void HWNewNet::displayError(QAbstractSocket::SocketError socketError)
   130 {
   132 {
   131   switch (socketError) {
   133   switch (socketError) {
   156     QMessageBox::information(0, 0, "Your net nickname is in use or cannot be used");
   158     QMessageBox::information(0, 0, "Your net nickname is in use or cannot be used");
   157     return;
   159     return;
   158   }
   160   }
   159 
   161 
   160   if (lst[0] == "CONNECTED") {
   162   if (lst[0] == "CONNECTED") {
       
   163     m_game_connected=true;
   161     emit Connected();
   164     emit Connected();
   162     emit EnteredGame();
   165     emit EnteredGame();
   163     return;
   166     return;
   164   }
   167   }
   165 
   168