QTfrontend/newnetclient.cpp
changeset 3697 d5b30d6373fc
parent 3555 4c5ca656d1bb
child 4534 395278890955
equal deleted inserted replaced
3695:c11abf387a7d 3697:d5b30d6373fc
   303         while (tmp.size() >= 2)
   303         while (tmp.size() >= 2)
   304         {
   304         {
   305             if(tmp[0] == "MOTD_NEW") emit serverMessageNew(tmp[1]);
   305             if(tmp[0] == "MOTD_NEW") emit serverMessageNew(tmp[1]);
   306             else if(tmp[0] == "MOTD_OLD") emit serverMessageOld(tmp[1]);
   306             else if(tmp[0] == "MOTD_OLD") emit serverMessageOld(tmp[1]);
   307             else if(tmp[0] == "LATEST_PROTO") emit latestProtocolVar(tmp[1].toInt());
   307             else if(tmp[0] == "LATEST_PROTO") emit latestProtocolVar(tmp[1].toInt());
   308                 
   308 
   309             tmp.removeFirst();
   309             tmp.removeFirst();
   310             tmp.removeFirst();
   310             tmp.removeFirst();
   311         }
   311         }
   312         return;
   312         return;
   313     }
   313     }
   470     if (lst[0] == "ASKPASSWORD") {
   470     if (lst[0] == "ASKPASSWORD") {
   471         bool ok = false;
   471         bool ok = false;
   472         int passLength = config->value("net/passwordlength", 0).toInt();
   472         int passLength = config->value("net/passwordlength", 0).toInt();
   473         QString hash = config->value("net/passwordhash", "").toString();
   473         QString hash = config->value("net/passwordhash", "").toString();
   474         QString password = QInputDialog::getText(0, tr("Password"), tr("Your nickname %1 is\nregistered on Hedgewars.org\nPlease provide your password below\nor pick another nickname in game config:").arg(mynick), QLineEdit::Password, passLength==0?NULL:QString(passLength,'\0'), &ok);
   474         QString password = QInputDialog::getText(0, tr("Password"), tr("Your nickname %1 is\nregistered on Hedgewars.org\nPlease provide your password below\nor pick another nickname in game config:").arg(mynick), QLineEdit::Password, passLength==0?NULL:QString(passLength,'\0'), &ok);
   475         
   475 
   476         if (!ok) {
   476         if (!ok) {
   477             Disconnect();
   477             Disconnect();
   478             emit Disconnected();
   478             emit Disconnected();
   479             return;
   479             return;
   480         }
   480         }
   481         
   481 
   482         if (!passLength || password!=QString(passLength, '\0')) {
   482         if (!passLength || password!=QString(passLength, '\0')) {
   483             hash = QCryptographicHash::hash(password.toLatin1(), QCryptographicHash::Md5).toHex();
   483             hash = QCryptographicHash::hash(password.toLatin1(), QCryptographicHash::Md5).toHex();
   484             config->setValue("net/passwordhash", hash);
   484             config->setValue("net/passwordhash", hash);
   485             config->setValue("net/passwordlength", password.size());
   485             config->setValue("net/passwordlength", password.size());
   486         }
   486         }
   748     RawSendNet(QString("SET_SERVER_VAR%1LATEST_PROTO%1%2").arg(delimeter).arg(proto));
   748     RawSendNet(QString("SET_SERVER_VAR%1LATEST_PROTO%1%2").arg(delimeter).arg(proto));
   749 }
   749 }
   750 
   750 
   751 void HWNewNet::askServerVars()
   751 void HWNewNet::askServerVars()
   752 {
   752 {
   753     RawSendNet(QString("GET_SERVER_VAR"));    
   753     RawSendNet(QString("GET_SERVER_VAR"));
   754 }
   754 }