QTfrontend/gamecfgwidget.cpp
changeset 2380 603965eca22b
parent 2377 f3fab2b09e0c
child 2703 fbde0d971ba6
equal deleted inserted replaced
2379:d62b1f224982 2380:603965eca22b
   142 	return sl;
   142 	return sl;
   143 }
   143 }
   144 
   144 
   145 void GameCFGWidget::setNetAmmo(const QString& name, const QString& ammo)
   145 void GameCFGWidget::setNetAmmo(const QString& name, const QString& ammo)
   146 {
   146 {
   147 	if (ammo.size() != cDefaultAmmoStore->size())
   147 	bool illegal = ammo.size() != cDefaultAmmoStore->size();
       
   148 	if (illegal)
   148 		QMessageBox::critical(this, tr("Error"), tr("Illegal ammo scheme"));
   149 		QMessageBox::critical(this, tr("Error"), tr("Illegal ammo scheme"));
   149 
   150 
   150 	int pos = WeaponsName->findText(name);
   151 	int pos = WeaponsName->findText(name);
   151 	if (pos == -1) {
   152 	if ((pos == -1) || illegal) { // prevent from overriding schemes with bad ones
   152 		WeaponsName->addItem(name, ammo);
   153 		WeaponsName->addItem(name, ammo);
   153 		WeaponsName->setCurrentIndex(WeaponsName->count() - 1);
   154 		WeaponsName->setCurrentIndex(WeaponsName->count() - 1);
   154 	} else {
   155 	} else {
   155 		WeaponsName->setItemData(pos, ammo);
   156 		WeaponsName->setItemData(pos, ammo);
   156 		WeaponsName->setCurrentIndex(pos);
   157 		WeaponsName->setCurrentIndex(pos);