# HG changeset patch # User unc0rr # Date 1228496120 0 # Node ID f404233b6d9b2b846c61fababb3f1b008123e0eb # Parent 3b8d723661b2f5bd918e4ae7e78914e9eaaa7144 - Less crossclass dependancies - Eliminate one more reason for different ammo schemes diff -r 3b8d723661b2 -r f404233b6d9b QTfrontend/gamecfgwidget.cpp --- a/QTfrontend/gamecfgwidget.cpp Fri Dec 05 16:49:04 2008 +0000 +++ b/QTfrontend/gamecfgwidget.cpp Fri Dec 05 16:55:20 2008 +0000 @@ -81,7 +81,7 @@ connect(CB_mode_Forts, SIGNAL(toggled(bool)), this, SIGNAL(fortsModeChanged(bool))); connect(CB_teamsDivide, SIGNAL(toggled(bool)), this, SIGNAL(teamsDivideChanged(bool))); connect(CB_solid, SIGNAL(toggled(bool)), this, SIGNAL(solidChanged(bool))); - connect(WeaponsName, SIGNAL(activated(const QString&)), this, SIGNAL(newWeaponsName(const QString&))); + connect(WeaponsName, SIGNAL(currentIndexChanged(int)), this, SLOT(ammoChanged(int))); connect(pMapContainer, SIGNAL(seedChanged(const QString &)), this, SIGNAL(seedChanged(const QString &))); connect(pMapContainer, SIGNAL(mapChanged(const QString &)), this, SIGNAL(mapChanged(const QString &))); @@ -194,3 +194,8 @@ WeaponsName->setCurrentIndex(pos); } } + +void GameCFGWidget::ammoChanged(int index) +{ + emit newWeaponScheme(WeaponsName->itemText(index), WeaponsName->itemData(index).toString()); +} \ No newline at end of file diff -r 3b8d723661b2 -r f404233b6d9b QTfrontend/gamecfgwidget.h --- a/QTfrontend/gamecfgwidget.h Fri Dec 05 16:49:04 2008 +0000 +++ b/QTfrontend/gamecfgwidget.h Fri Dec 05 16:55:20 2008 +0000 @@ -66,7 +66,10 @@ void fortsModeChanged(bool value); void teamsDivideChanged(bool value); void solidChanged(bool value); - void newWeaponsName(const QString& weapon); + void newWeaponScheme(const QString & name, const QString & ammo); + +private slots: + void ammoChanged(int index); private: QCheckBox * CB_mode_Forts; diff -r 3b8d723661b2 -r f404233b6d9b QTfrontend/hwform.cpp --- a/QTfrontend/hwform.cpp Fri Dec 05 16:49:04 2008 +0000 +++ b/QTfrontend/hwform.cpp Fri Dec 05 16:55:20 2008 +0000 @@ -95,7 +95,6 @@ connect(ui.pageOptions->WeaponEdit, SIGNAL(clicked()), this, SLOT(GoToSelectWeapon())); connect(ui.pageOptions->WeaponsButt, SIGNAL(clicked()), this, SLOT(GoToSelectNewWeapon())); connect(ui.pageSelectWeapon->pWeapons, SIGNAL(weaponsChanged()), this, SLOT(UpdateWeapons())); - connect(ui.pageNetGame->pGameCFG, SIGNAL(newWeaponsName(const QString&)), this, SLOT(NetWeaponNameChanged(const QString&))); connect(ui.pageNet->BtnBack, SIGNAL(clicked()), this, SLOT(GoBack())); connect(ui.pageNet->BtnSpecifyServer, SIGNAL(clicked()), this, SLOT(NetConnect())); @@ -185,14 +184,6 @@ } } -void HWForm::NetWeaponNameChanged(const QString& name) -{ - QString ammo = ui.pageSelectWeapon->pWeapons->getWeaponsString(name); - - if (hwnet) - hwnet->onWeaponsNameChanged(name, ammo); -} - void HWForm::UpdateTeamsLists(const QStringList* editable_teams) { QStringList teamslist; @@ -502,6 +493,8 @@ connect(ui.pageNetGame->pGameCFG, SIGNAL(fortsModeChanged(bool)), hwnet, SLOT(onFortsModeChanged(bool))); connect(ui.pageNetGame->pGameCFG, SIGNAL(teamsDivideChanged(bool)), hwnet, SLOT(onTeamsDivideChanged(bool))); connect(ui.pageNetGame->pGameCFG, SIGNAL(solidChanged(bool)), hwnet, SLOT(onSolidChanged(bool))); + connect(ui.pageNetGame->pGameCFG, SIGNAL(newWeaponScheme(const QString &, const QString &)), + hwnet, SLOT(onWeaponsNameChanged(const QString &, const QString &))); connect(hwnet, SIGNAL(Disconnected()), this, SLOT(ForcedDisconnect())); connect(hwnet, SIGNAL(seedChanged(const QString &)), ui.pageNetGame->pGameCFG, SLOT(setSeed(const QString &))); @@ -612,7 +605,10 @@ void HWForm::StartMPGame() { - QString ammo = ui.pageSelectWeapon->pWeapons->getWeaponsString(ui.pageMultiplayer->gameCFG->WeaponsName->currentText()); + QString ammo; + ammo = ui.pageMultiplayer->gameCFG->WeaponsName->itemData( + ui.pageMultiplayer->gameCFG->WeaponsName->currentIndex() + ).toString(); CreateGame(ui.pageMultiplayer->gameCFG, ui.pageMultiplayer->teamsSelect, ammo); diff -r 3b8d723661b2 -r f404233b6d9b QTfrontend/hwform.h --- a/QTfrontend/hwform.h Fri Dec 05 16:49:04 2008 +0000 +++ b/QTfrontend/hwform.h Fri Dec 05 16:55:20 2008 +0000 @@ -84,7 +84,6 @@ void GetRecord(bool isDemo, const QByteArray & record); void CreateNetGame(); void UpdateWeapons(); - void NetWeaponNameChanged(const QString& name); void onFrontendFullscreen(bool value); void Music(bool checked); void NetGameMaster();