diff -r bb9fa5809c49 -r 27caa8c6e73a QTfrontend/gamecfgwidget.cpp --- a/QTfrontend/gamecfgwidget.cpp Thu Nov 27 15:01:12 2008 +0000 +++ b/QTfrontend/gamecfgwidget.cpp Thu Nov 27 18:33:47 2008 +0000 @@ -22,9 +22,11 @@ #include #include #include +#include #include "gamecfgwidget.h" #include "igbox.h" +#include "hwconsts.h" GameCFGWidget::GameCFGWidget(QWidget* parent, bool externalControl) : QGroupBox(parent), mainLayout(this) @@ -118,11 +120,6 @@ return SB_TurnTime->value(); } -QString GameCFGWidget::getNetAmmo() const -{ - return curNetAmmo; -} - QStringList GameCFGWidget::getFullConfig() const { QStringList sl; @@ -173,10 +170,15 @@ void GameCFGWidget::setNetAmmo(const QString& name, const QString& ammo) { - curNetAmmoName=name; - curNetAmmo=ammo; + if (ammo.size() != cDefaultAmmoStore->size() - 10) + QMessageBox::critical(this, tr("Error"), tr("Illegal ammo scheme")); - WeaponsName->setEditable(false); - WeaponsName->clear(); - WeaponsName->addItem(name); -} + int pos = WeaponsName->findText(name); + if (pos == -1) { + WeaponsName->addItem(name, ammo); + WeaponsName->setCurrentIndex(WeaponsName->count() - 1); + } else { + WeaponsName->setItemData(pos, ammo); + WeaponsName->setCurrentIndex(pos); + } + }