75 goToWeaponPage->setIcon(pmEdit); |
75 goToWeaponPage->setIcon(pmEdit); |
76 goToWeaponPage->setMaximumWidth(pmEdit.width() + 6); |
76 goToWeaponPage->setMaximumWidth(pmEdit.width() + 6); |
77 GBoxOptionsLayout->addWidget(goToWeaponPage, 1, 2); |
77 GBoxOptionsLayout->addWidget(goToWeaponPage, 1, 2); |
78 |
78 |
79 connect(goToWeaponPage, SIGNAL(clicked()), this, SLOT(jumpToWeapons())); |
79 connect(goToWeaponPage, SIGNAL(clicked()), this, SLOT(jumpToWeapons())); |
80 |
|
81 GBoxOptionsLayout->addWidget(new QLabel(QLabel::tr("Bind schemes and weapons"), GBoxOptions), 2, 0); |
|
82 |
|
83 bindEntries = new QCheckBox(GBoxOptions); |
|
84 bindEntries->setToolTip(tr("When this option is enabled selecting a game scheme will auto-select a weapon (and viceversa)")); |
|
85 bindEntries->setChecked(true); |
|
86 GBoxOptionsLayout->addWidget(bindEntries, 2, 2); |
|
87 |
80 |
88 connect(pMapContainer, SIGNAL(seedChanged(const QString &)), this, SLOT(seedChanged(const QString &))); |
81 connect(pMapContainer, SIGNAL(seedChanged(const QString &)), this, SLOT(seedChanged(const QString &))); |
89 connect(pMapContainer, SIGNAL(mapChanged(const QString &)), this, SLOT(mapChanged(const QString &))); |
82 connect(pMapContainer, SIGNAL(mapChanged(const QString &)), this, SLOT(mapChanged(const QString &))); |
90 connect(pMapContainer, SIGNAL(mapgenChanged(MapGenerator)), this, SLOT(mapgenChanged(MapGenerator))); |
83 connect(pMapContainer, SIGNAL(mapgenChanged(MapGenerator)), this, SLOT(mapgenChanged(MapGenerator))); |
91 connect(pMapContainer, SIGNAL(maze_sizeChanged(int)), this, SLOT(maze_sizeChanged(int))); |
84 connect(pMapContainer, SIGNAL(maze_sizeChanged(int)), this, SLOT(maze_sizeChanged(int))); |
268 qWarning("Got bad config param from net"); |
261 qWarning("Got bad config param from net"); |
269 } |
262 } |
270 |
263 |
271 void GameCFGWidget::ammoChanged(int index) |
264 void GameCFGWidget::ammoChanged(int index) |
272 { |
265 { |
273 if (index >= 0) { |
266 if (index >= 0) |
274 emit paramChanged( |
267 emit paramChanged( |
275 "AMMO", |
268 "AMMO", |
276 QStringList() << WeaponsName->itemText(index) << WeaponsName->itemData(index).toString() |
269 QStringList() << WeaponsName->itemText(index) << WeaponsName->itemData(index).toString() |
277 ); |
270 ); |
278 if (bindEntries->isChecked() == true) { |
|
279 QString weapName = WeaponsName->itemText(index); |
|
280 for (int i = 0; i < GameSchemes->count(); i++) { |
|
281 QString schemeName = GameSchemes->itemText(i); |
|
282 int res = QString::compare(weapName, schemeName, Qt::CaseSensitive); |
|
283 if (0 == res) { |
|
284 GameSchemes->setCurrentIndex(i); |
|
285 break; |
|
286 } |
|
287 } |
|
288 } |
|
289 } |
|
290 } |
271 } |
291 |
272 |
292 void GameCFGWidget::mapChanged(const QString & value) |
273 void GameCFGWidget::mapChanged(const QString & value) |
293 { |
274 { |
294 if(pMapContainer->getCurrentIsMission()) |
275 if(pMapContainer->getCurrentIsMission()) |
295 { |
276 { |
296 GameSchemes->setEnabled(false); |
277 GameSchemes->setEnabled(false); |
297 WeaponsName->setEnabled(false); |
278 WeaponsName->setEnabled(false); |
298 bindEntries->setEnabled(false); |
|
299 GameSchemes->setCurrentIndex(GameSchemes->findText("Default")); |
279 GameSchemes->setCurrentIndex(GameSchemes->findText("Default")); |
300 WeaponsName->setCurrentIndex(WeaponsName->findText("Default")); |
280 WeaponsName->setCurrentIndex(WeaponsName->findText("Default")); |
301 } |
281 } |
302 else |
282 else |
303 { |
283 { |
304 GameSchemes->setEnabled(true); |
284 GameSchemes->setEnabled(true); |
305 WeaponsName->setEnabled(true); |
285 WeaponsName->setEnabled(true); |
306 bindEntries->setEnabled(true); |
|
307 } |
286 } |
308 emit paramChanged("MAP", QStringList(value)); |
287 emit paramChanged("MAP", QStringList(value)); |
309 } |
288 } |
310 |
289 |
311 void GameCFGWidget::templateFilterChanged(int value) |
290 void GameCFGWidget::templateFilterChanged(int value) |
321 void GameCFGWidget::themeChanged(const QString & value) |
300 void GameCFGWidget::themeChanged(const QString & value) |
322 { |
301 { |
323 emit paramChanged("THEME", QStringList(value)); |
302 emit paramChanged("THEME", QStringList(value)); |
324 } |
303 } |
325 |
304 |
326 void GameCFGWidget::schemeChanged(int index) |
305 void GameCFGWidget::schemeChanged(int value) |
327 { |
306 { |
328 QStringList sl; |
307 QStringList sl; |
329 |
308 |
330 int size = GameSchemes->model()->columnCount(); |
309 int size = GameSchemes->model()->columnCount(); |
331 for(int i = 0; i < size; ++i) |
310 for(int i = 0; i < size; ++i) |
332 sl << schemeData(i).toString(); |
311 sl << schemeData(i).toString(); |
333 |
312 |
334 emit paramChanged("SCHEME", sl); |
313 emit paramChanged("SCHEME", sl); |
335 |
|
336 if (bindEntries->isChecked() == true) { |
|
337 QString schemeName = GameSchemes->itemText(index); |
|
338 for (int i = 0; i < WeaponsName->count(); i++) { |
|
339 QString weapName = WeaponsName->itemText(i); |
|
340 int res = QString::compare(weapName, schemeName, Qt::CaseSensitive); |
|
341 if (0 == res) { |
|
342 WeaponsName->setCurrentIndex(i); |
|
343 break; |
|
344 } |
|
345 } |
|
346 } |
|
347 } |
314 } |
348 |
315 |
349 void GameCFGWidget::mapgenChanged(MapGenerator m) |
316 void GameCFGWidget::mapgenChanged(MapGenerator m) |
350 { |
317 { |
351 emit paramChanged("MAPGEN", QStringList(QString::number(m))); |
318 emit paramChanged("MAPGEN", QStringList(QString::number(m))); |