QTfrontend/hwform.cpp
changeset 383 09a8795105a4
parent 373 df912aab6b7e
child 407 c7890ba9ed6e
equal deleted inserted replaced
382:e7220e48ead1 383:09a8795105a4
   179 }
   179 }
   180 
   180 
   181 void HWForm::GoBack()
   181 void HWForm::GoBack()
   182 {
   182 {
   183 	if (!PagesStack.isEmpty() && PagesStack.top() == ID_PAGE_NET) {
   183 	if (!PagesStack.isEmpty() && PagesStack.top() == ID_PAGE_NET) {
   184 	  NetDisconnect();
   184 	  if(hwnet || pnetserver) NetDisconnect();
   185 	}
   185 	}
   186 	quint8 id = PagesStack.isEmpty() ? ID_PAGE_MAIN : PagesStack.pop();
   186 	quint8 id = PagesStack.isEmpty() ? ID_PAGE_MAIN : PagesStack.pop();
   187 	OnPageShown(id);
   187 	OnPageShown(id);
   188 	ui.Pages->setCurrentIndex(id);
   188 	ui.Pages->setCurrentIndex(id);
   189 }
   189 }
   259 	connect(ui.pageNetGame->pGameCFG, SIGNAL(themeChanged(const QString &)), hwnet, SLOT(onThemeChanged(const QString &)));
   259 	connect(ui.pageNetGame->pGameCFG, SIGNAL(themeChanged(const QString &)), hwnet, SLOT(onThemeChanged(const QString &)));
   260 	connect(ui.pageNetGame->pGameCFG, SIGNAL(initHealthChanged(quint32)), hwnet, SLOT(onInitHealthChanged(quint32)));
   260 	connect(ui.pageNetGame->pGameCFG, SIGNAL(initHealthChanged(quint32)), hwnet, SLOT(onInitHealthChanged(quint32)));
   261 	connect(ui.pageNetGame->pGameCFG, SIGNAL(turnTimeChanged(quint32)), hwnet, SLOT(onTurnTimeChanged(quint32)));
   261 	connect(ui.pageNetGame->pGameCFG, SIGNAL(turnTimeChanged(quint32)), hwnet, SLOT(onTurnTimeChanged(quint32)));
   262 	connect(ui.pageNetGame->pGameCFG, SIGNAL(fortsModeChanged(bool)), hwnet, SLOT(onFortsModeChanged(bool)));
   262 	connect(ui.pageNetGame->pGameCFG, SIGNAL(fortsModeChanged(bool)), hwnet, SLOT(onFortsModeChanged(bool)));
   263 
   263 
       
   264 	connect(hwnet, SIGNAL(Disconnected()), this, SLOT(ForcedDisconnect()));
   264 	connect(hwnet, SIGNAL(seedChanged(const QString &)), ui.pageNetGame->pGameCFG, SLOT(setSeed(const QString &)));
   265 	connect(hwnet, SIGNAL(seedChanged(const QString &)), ui.pageNetGame->pGameCFG, SLOT(setSeed(const QString &)));
   265 	connect(hwnet, SIGNAL(mapChanged(const QString &)), ui.pageNetGame->pGameCFG, SLOT(setMap(const QString &)));
   266 	connect(hwnet, SIGNAL(mapChanged(const QString &)), ui.pageNetGame->pGameCFG, SLOT(setMap(const QString &)));
   266 	connect(hwnet, SIGNAL(themeChanged(const QString &)), ui.pageNetGame->pGameCFG, SLOT(setTheme(const QString &)));
   267 	connect(hwnet, SIGNAL(themeChanged(const QString &)), ui.pageNetGame->pGameCFG, SLOT(setTheme(const QString &)));
   267 	connect(hwnet, SIGNAL(initHealthChanged(quint32)), ui.pageNetGame->pGameCFG, SLOT(setInitHealth(quint32)));
   268 	connect(hwnet, SIGNAL(initHealthChanged(quint32)), ui.pageNetGame->pGameCFG, SLOT(setInitHealth(quint32)));
   268 	connect(hwnet, SIGNAL(turnTimeChanged(quint32)), ui.pageNetGame->pGameCFG, SLOT(setTurnTime(quint32)));
   269 	connect(hwnet, SIGNAL(turnTimeChanged(quint32)), ui.pageNetGame->pGameCFG, SLOT(setTurnTime(quint32)));
   288   _NetConnect(pnetserver->getRunningHostName(), pnetserver->getRunningPort(), ui.pageNet->editNetNick->text());
   289   _NetConnect(pnetserver->getRunningHostName(), pnetserver->getRunningPort(), ui.pageNet->editNetNick->text());
   289 }
   290 }
   290 
   291 
   291 void HWForm::NetDisconnect()
   292 void HWForm::NetDisconnect()
   292 {
   293 {
   293   hwnet->Disconnect();
   294   if(hwnet) {
   294   delete hwnet;
   295     hwnet->Disconnect();
   295   hwnet=0;
   296     delete hwnet;
       
   297     hwnet=0;
       
   298   }
   296   if(pnetserver) {
   299   if(pnetserver) {
   297     pnetserver->StopServer();
   300     pnetserver->StopServer();
   298     delete pnetserver;
   301     delete pnetserver;
   299     pnetserver=0;
   302     pnetserver=0;
   300   }
   303   }
       
   304 }
       
   305 
       
   306 void HWForm::ForcedDisconnect()
       
   307 {
       
   308   if(pnetserver) return; // we have server - let it care of all things
       
   309   if (hwnet) {
       
   310     hwnet->deleteLater();
       
   311     hwnet=0;
       
   312   }
       
   313   GoBack();
   301 }
   314 }
   302 
   315 
   303 void HWForm::AddGame(const QString & chan)
   316 void HWForm::AddGame(const QString & chan)
   304 {
   317 {
   305 	ui.pageNetChat->ChannelsList->addItem(chan);
   318 	ui.pageNetChat->ChannelsList->addItem(chan);