QTfrontend/gamecfgwidget.cpp
branch0.9.14.1
changeset 4324 43e3f1eeceb5
parent 4237 ef9b201c97fe
child 4337 85e02b1a8e8f
equal deleted inserted replaced
4322:564a433ca1cb 4324:43e3f1eeceb5
    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)));