QTfrontend/teamselect.cpp
changeset 348 c91b983de18f
parent 347 6521e1b2cd40
child 352 4665bfe25470
equal deleted inserted replaced
347:6521e1b2cd40 348:c91b983de18f
    29 void TeamSelWidget::addTeam(HWTeam team)
    29 void TeamSelWidget::addTeam(HWTeam team)
    30 {
    30 {
    31   if(team.netTeam) {
    31   if(team.netTeam) {
    32     framePlaying->addTeam(team, true);
    32     framePlaying->addTeam(team, true);
    33     curPlayingTeams.push_back(team);
    33     curPlayingTeams.push_back(team);
    34     QObject::connect(frameDontPlaying->getTeamWidget(team), SIGNAL(teamStatusChanged(HWTeam)),
    34     QObject::connect(framePlaying->getTeamWidget(team), SIGNAL(teamStatusChanged(HWTeam)),
    35 		     this, SLOT(netTeamStatusChanged(const HWTeam&)));
    35 		     this, SLOT(netTeamStatusChanged(const HWTeam&)));
    36   } else {
    36   } else {
    37     frameDontPlaying->addTeam(team, false);
    37     frameDontPlaying->addTeam(team, false);
    38     curDontPlayingTeams.push_back(team);
    38     curDontPlayingTeams.push_back(team);
    39     QObject::connect(frameDontPlaying->getTeamWidget(team), SIGNAL(teamStatusChanged(HWTeam)),
    39     QObject::connect(frameDontPlaying->getTeamWidget(team), SIGNAL(teamStatusChanged(HWTeam)),
    41   }
    41   }
    42 }
    42 }
    43 
    43 
    44 void TeamSelWidget::removeNetTeam(const HWTeam& team)
    44 void TeamSelWidget::removeNetTeam(const HWTeam& team)
    45 {
    45 {
    46   list<HWTeam>::iterator itPlay=std::find(curPlayingTeams.begin(), curPlayingTeams.end(), team);
    46   for(;;) {
    47   framePlaying->removeTeam(team);
    47     list<HWTeam>::iterator itPlay=std::find(curPlayingTeams.begin(), curPlayingTeams.end(), team);
    48   curPlayingTeams.erase(itPlay);
    48     if(itPlay==curPlayingTeams.end()) break;
       
    49     if(itPlay->netTeam) {
       
    50       QObject::disconnect(framePlaying->getTeamWidget(*itPlay), SIGNAL(teamStatusChanged(HWTeam)));
       
    51       framePlaying->removeTeam(team);
       
    52       curPlayingTeams.erase(itPlay);
       
    53       break;
       
    54     }
       
    55   }
    49 }
    56 }
    50 
    57 
    51 void TeamSelWidget::netTeamStatusChanged(const HWTeam& team)
    58 void TeamSelWidget::netTeamStatusChanged(const HWTeam& team)
    52 {
    59 {
    53   list<HWTeam>::iterator itPlay=std::find(curPlayingTeams.begin(), curPlayingTeams.end(), team);
    60   list<HWTeam>::iterator itPlay=std::find(curPlayingTeams.begin(), curPlayingTeams.end(), team);