void PollsServer::incomingConnection(int handle) { //создаем клиента PollsClient *client = new PollsClient(handle, this); if (_dialog != 0) { connect(client, SIGNAL(addUserToGui(QString)), _dialog, SLOT(onAddUserToGui(QString))); connect(client, SIGNAL(removeUserFromGui(QString)), _dialog, SLOT(onRemoveUserFromGui(QString))); connect(client, SIGNAL(doVoteUp(QString,QString,QString,QString)), _dialog, SLOT(onVoteUp(QString,QString,QString,QString))); } connect(client, SIGNAL(removeUser(PollsClient*)), this, SLOT(onRemoveUser(PollsClient*))); _clients.append(client); }
void MyClient::onDisconnect() { qDebug() << "Client disconnected"; //если авторизован if (_isAutched) { //убирием из интерфейса emit removeUserFromGui(_name); //сообщаем всем, что клиент вышел _serv->doSendToAllUserLeft(_name); //убираем из списка emit removeUser(this); } deleteLater(); }