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 { |