QTfrontend/hwform.cpp
changeset 496 00465a8ef129
parent 493 0c0ed17ad675
child 502 bc178daca088
equal deleted inserted replaced
495:62c1c2b4414c 496:00465a8ef129
   154 void HWForm::GoToNet()
   154 void HWForm::GoToNet()
   155 {
   155 {
   156 	GoToPage(ID_PAGE_NET);
   156 	GoToPage(ID_PAGE_NET);
   157 }
   157 }
   158 
   158 
   159 void HWForm::OnPageShown(quint8 id)
   159 void HWForm::OnPageShown(quint8 id, quint8 lastid)
   160 {
   160 {
   161 	if (id == ID_PAGE_MULTIPLAYER || id == ID_PAGE_NETCFG) {
   161 	if (id == ID_PAGE_MULTIPLAYER || id == ID_PAGE_NETCFG) {
   162 		QStringList tmNames=config->GetTeamsList();
   162 		QStringList tmNames=config->GetTeamsList();
   163 		TeamSelWidget* curTeamSelWidget;
   163 		TeamSelWidget* curTeamSelWidget;
   164 		id == ID_PAGE_MULTIPLAYER ? curTeamSelWidget=ui.pageMultiplayer->teamsSelect :
   164 		if(id == ID_PAGE_MULTIPLAYER) {
       
   165 		  curTeamSelWidget=ui.pageMultiplayer->teamsSelect;
       
   166 		} else {
   165 		  curTeamSelWidget=ui.pageNetGame->pNetTeamsWidget;
   167 		  curTeamSelWidget=ui.pageNetGame->pNetTeamsWidget;
       
   168 		}
   166 		QList<HWTeam> teamsList;
   169 		QList<HWTeam> teamsList;
   167 		for(QStringList::iterator it=tmNames.begin(); it!=tmNames.end(); it++) {
   170 		for(QStringList::iterator it=tmNames.begin(); it!=tmNames.end(); it++) {
   168 		  HWTeam team(*it);
   171 		  HWTeam team(*it);
   169 		  team.LoadFromFile();
   172 		  team.LoadFromFile();
   170 		  teamsList.push_back(team);
   173 		  teamsList.push_back(team);
   171 		}
   174 		}
   172 		curTeamSelWidget->resetPlayingTeams(teamsList);
   175 		if(lastid==ID_PAGE_SETUP_TEAM) {
       
   176 		  if (editedTeam) curTeamSelWidget->addTeam(*editedTeam);
       
   177 		} else {
       
   178 		  curTeamSelWidget->resetPlayingTeams(teamsList);
       
   179 		}
   173 	}
   180 	}
   174 }
   181 }
   175 
   182 
   176 void HWForm::GoToPage(quint8 id)
   183 void HWForm::GoToPage(quint8 id)
   177 {
   184 {
   184 {
   191 {
   185 	if (!PagesStack.isEmpty() && PagesStack.top() == ID_PAGE_NET) {
   192 	if (!PagesStack.isEmpty() && PagesStack.top() == ID_PAGE_NET) {
   186 	  if(hwnet || pnetserver) NetDisconnect();
   193 	  if(hwnet || pnetserver) NetDisconnect();
   187 	}
   194 	}
   188 	quint8 id = PagesStack.isEmpty() ? ID_PAGE_MAIN : PagesStack.pop();
   195 	quint8 id = PagesStack.isEmpty() ? ID_PAGE_MAIN : PagesStack.pop();
   189 	OnPageShown(id);
   196 	OnPageShown(id, ui.Pages->currentIndex());
   190 	ui.Pages->setCurrentIndex(id);
   197 	ui.Pages->setCurrentIndex(id);
   191 }
   198 }
   192 
   199 
   193 void HWForm::NewTeam()
   200 void HWForm::NewTeam()
   194 {
   201 {
   207 
   214 
   208 void HWForm::TeamSave()
   215 void HWForm::TeamSave()
   209 {
   216 {
   210 	editedTeam->GetFromPage(this);
   217 	editedTeam->GetFromPage(this);
   211 	editedTeam->SaveToFile();
   218 	editedTeam->SaveToFile();
   212 	delete editedTeam;
       
   213 	UpdateTeamsLists();
   219 	UpdateTeamsLists();
   214 	GoBack();
   220 	GoBack();
       
   221 	delete editedTeam;
       
   222 	editedTeam=0;
   215 }
   223 }
   216 
   224 
   217 void HWForm::TeamDiscard()
   225 void HWForm::TeamDiscard()
   218 {
   226 {
   219 	delete editedTeam;
   227 	delete editedTeam;
       
   228 	editedTeam=0;
   220 	GoBack();
   229 	GoBack();
   221 }
   230 }
   222 
   231 
   223 void HWForm::SimpleGame()
   232 void HWForm::SimpleGame()
   224 {
   233 {