QTfrontend/ui/widget/gamecfgwidget.cpp
changeset 13244 d49bd0dd735d
parent 13228 d23742ccf92b
child 13263 0f7623f722dc
equal deleted inserted replaced
13243:480dcc29391c 13244:d49bd0dd735d
   104     m_childWidgets << OptionsInnerContainer;
   104     m_childWidgets << OptionsInnerContainer;
   105     OptionsInnerContainer->setFixedSize(optionsContainerFree->width(), optionsContainerFree->height());
   105     OptionsInnerContainer->setFixedSize(optionsContainerFree->width(), optionsContainerFree->height());
   106     OptionsInnerContainer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
   106     OptionsInnerContainer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
   107     GBoxOptionsLayout = new QGridLayout(OptionsInnerContainer);
   107     GBoxOptionsLayout = new QGridLayout(OptionsInnerContainer);
   108 
   108 
   109     GBoxOptionsLayout->addWidget(new QLabel(QLabel::tr("Style"), this), 1, 0);
   109     lblScript = new QLabel(QLabel::tr("Style"), this);
       
   110     GBoxOptionsLayout->addWidget(lblScript, 1, 0);
   110 
   111 
   111     Scripts = new QComboBox(this);
   112     Scripts = new QComboBox(this);
   112     Scripts->setMaxVisibleItems(30);
   113     Scripts->setMaxVisibleItems(30);
   113     GBoxOptionsLayout->addWidget(Scripts, 1, 1);
   114     GBoxOptionsLayout->addWidget(Scripts, 1, 1);
   114 
   115 
   125     GameSchemes = new QComboBox(SchemeWidget);
   126     GameSchemes = new QComboBox(SchemeWidget);
   126     GameSchemes->setMaxVisibleItems(30);
   127     GameSchemes->setMaxVisibleItems(30);
   127     SchemeWidgetLayout->addWidget(GameSchemes, 0, 2);
   128     SchemeWidgetLayout->addWidget(GameSchemes, 0, 2);
   128     connect(GameSchemes, SIGNAL(currentIndexChanged(int)), this, SLOT(schemeChanged(int)));
   129     connect(GameSchemes, SIGNAL(currentIndexChanged(int)), this, SLOT(schemeChanged(int)));
   129 
   130 
   130     SchemeWidgetLayout->addWidget(new QLabel(QLabel::tr("Scheme"), SchemeWidget), 0, 0);
   131     lblScheme = new QLabel(QLabel::tr("Scheme"), SchemeWidget);
       
   132     SchemeWidgetLayout->addWidget(lblScheme, 0, 0);
   131 
   133 
   132     QPixmap pmEdit(":/res/edit.png");
   134     QPixmap pmEdit(":/res/edit.png");
   133     QIcon iconEdit = QIcon(pmEdit);
   135     QIcon iconEdit = QIcon(pmEdit);
   134 
   136 
   135     QPushButton * goToSchemePage = new QPushButton(SchemeWidget);
   137     goToSchemePage = new QPushButton(SchemeWidget);
   136     goToSchemePage->setWhatsThis(tr("Edit schemes"));
   138     goToSchemePage->setWhatsThis(tr("Edit schemes"));
   137     goToSchemePage->setIconSize(pmEdit.size());
   139     goToSchemePage->setIconSize(pmEdit.size());
   138     goToSchemePage->setIcon(iconEdit);
   140     goToSchemePage->setIcon(iconEdit);
   139     goToSchemePage->setMaximumWidth(pmEdit.width() + 6);
   141     goToSchemePage->setMaximumWidth(pmEdit.width() + 6);
   140     SchemeWidgetLayout->addWidget(goToSchemePage, 0, 3);
   142     SchemeWidgetLayout->addWidget(goToSchemePage, 0, 3);
   141     connect(goToSchemePage, SIGNAL(clicked()), this, SLOT(jumpToSchemes()));
   143     connect(goToSchemePage, SIGNAL(clicked()), this, SLOT(jumpToSchemes()));
   142 
   144 
   143     SchemeWidgetLayout->addWidget(new QLabel(QLabel::tr("Weapons"), SchemeWidget), 1, 0);
   145     lblWeapons = new QLabel(QLabel::tr("Weapons"), SchemeWidget);
       
   146     SchemeWidgetLayout->addWidget(lblWeapons, 1, 0);
   144 
   147 
   145     WeaponsName = new QComboBox(SchemeWidget);
   148     WeaponsName = new QComboBox(SchemeWidget);
   146     WeaponsName->setMaxVisibleItems(30);
   149     WeaponsName->setMaxVisibleItems(30);
   147     SchemeWidgetLayout->addWidget(WeaponsName, 1, 2);
   150     SchemeWidgetLayout->addWidget(WeaponsName, 1, 2);
   148 
   151 
   149     connect(WeaponsName, SIGNAL(currentIndexChanged(int)), this, SLOT(ammoChanged(int)));
   152     connect(WeaponsName, SIGNAL(currentIndexChanged(int)), this, SLOT(ammoChanged(int)));
   150 
   153 
   151     QPushButton * goToWeaponPage = new QPushButton(SchemeWidget);
   154     goToWeaponPage = new QPushButton(SchemeWidget);
   152     goToWeaponPage->setWhatsThis(tr("Edit weapons"));
   155     goToWeaponPage->setWhatsThis(tr("Edit weapons"));
   153     goToWeaponPage->setIconSize(pmEdit.size());
   156     goToWeaponPage->setIconSize(pmEdit.size());
   154     goToWeaponPage->setIcon(pmEdit);
   157     goToWeaponPage->setIcon(pmEdit);
   155     goToWeaponPage->setMaximumWidth(pmEdit.width() + 6);
   158     goToWeaponPage->setMaximumWidth(pmEdit.width() + 6);
   156     SchemeWidgetLayout->addWidget(goToWeaponPage, 1, 3);
   159     SchemeWidgetLayout->addWidget(goToWeaponPage, 1, 3);
   522 void GameCFGWidget::mapChanged(const QString & value)
   525 void GameCFGWidget::mapChanged(const QString & value)
   523 {
   526 {
   524     if(isEnabled() && pMapContainer->getCurrentIsMission())
   527     if(isEnabled() && pMapContainer->getCurrentIsMission())
   525     {
   528     {
   526         Scripts->setEnabled(false);
   529         Scripts->setEnabled(false);
       
   530         lblScript->setEnabled(false);
   527         Scripts->setCurrentIndex(0);
   531         Scripts->setCurrentIndex(0);
   528 
   532 
   529         if (pMapContainer->getCurrentScheme() == "locked")
   533         if (pMapContainer->getCurrentScheme() == "locked")
   530         {
   534         {
   531             GameSchemes->setEnabled(false);
   535             GameSchemes->setEnabled(false);
       
   536             goToSchemePage->setEnabled(false);
       
   537             lblScheme->setEnabled(false);
   532             GameSchemes->setCurrentIndex(GameSchemes->findText("Default"));
   538             GameSchemes->setCurrentIndex(GameSchemes->findText("Default"));
   533         }
   539         }
   534         else
   540         else
   535         {
   541         {
   536             GameSchemes->setEnabled(true);
   542             GameSchemes->setEnabled(true);
       
   543             goToSchemePage->setEnabled(true);
       
   544             lblScheme->setEnabled(true);
   537             int num = GameSchemes->findText(pMapContainer->getCurrentScheme());
   545             int num = GameSchemes->findText(pMapContainer->getCurrentScheme());
   538             if (num != -1)
   546             if (num != -1)
   539                 GameSchemes->setCurrentIndex(num);
   547                 GameSchemes->setCurrentIndex(num);
   540             //else
   548             //else
   541             //    GameSchemes->setCurrentIndex(GameSchemes->findText("Default"));
   549             //    GameSchemes->setCurrentIndex(GameSchemes->findText("Default"));
   542         }
   550         }
   543 
   551 
   544         if (pMapContainer->getCurrentWeapons() == "locked")
   552         if (pMapContainer->getCurrentWeapons() == "locked")
   545         {
   553         {
   546             WeaponsName->setEnabled(false);
   554             WeaponsName->setEnabled(false);
       
   555             goToWeaponPage->setEnabled(false);
       
   556             lblWeapons->setEnabled(false);
   547             WeaponsName->setCurrentIndex(WeaponsName->findText("Default"));
   557             WeaponsName->setCurrentIndex(WeaponsName->findText("Default"));
   548         }
   558         }
   549         else
   559         else
   550         {
   560         {
   551             WeaponsName->setEnabled(true);
   561             WeaponsName->setEnabled(true);
       
   562             goToWeaponPage->setEnabled(true);
       
   563             lblWeapons->setEnabled(true);
   552             int num = WeaponsName->findText(pMapContainer->getCurrentWeapons());
   564             int num = WeaponsName->findText(pMapContainer->getCurrentWeapons());
   553             if (num != -1)
   565             if (num != -1)
   554                 WeaponsName->setCurrentIndex(num);
   566                 WeaponsName->setCurrentIndex(num);
   555             //else
   567             //else
   556             //    WeaponsName->setCurrentIndex(WeaponsName->findText("Default"));
   568             //    WeaponsName->setCurrentIndex(WeaponsName->findText("Default"));
   562             bindEntries->setEnabled(false);
   574             bindEntries->setEnabled(false);
   563     }
   575     }
   564     else
   576     else
   565     {
   577     {
   566         Scripts->setEnabled(true);
   578         Scripts->setEnabled(true);
       
   579         lblScript->setEnabled(true);
   567         GameSchemes->setEnabled(true);
   580         GameSchemes->setEnabled(true);
       
   581         goToSchemePage->setEnabled(true);
       
   582         lblScheme->setEnabled(true);
   568         WeaponsName->setEnabled(true);
   583         WeaponsName->setEnabled(true);
       
   584         goToWeaponPage->setEnabled(true);
       
   585         lblWeapons->setEnabled(true);
   569         bindEntries->setEnabled(true);
   586         bindEntries->setEnabled(true);
   570     }
   587     }
   571     emit paramChanged("MAP", QStringList(value));
   588     emit paramChanged("MAP", QStringList(value));
   572 }
   589 }
   573 
   590 
   629         QString weapons = Scripts->itemData(index, GameStyleModel::WeaponsRole).toString();
   646         QString weapons = Scripts->itemData(index, GameStyleModel::WeaponsRole).toString();
   630 
   647 
   631         if (scheme == "locked")
   648         if (scheme == "locked")
   632         {
   649         {
   633             GameSchemes->setEnabled(false);
   650             GameSchemes->setEnabled(false);
       
   651             goToSchemePage->setEnabled(false);
       
   652             lblScheme->setEnabled(false);
   634             GameSchemes->setCurrentIndex(GameSchemes->findText("Default"));
   653             GameSchemes->setCurrentIndex(GameSchemes->findText("Default"));
   635         }
   654         }
   636         else if (m_master)
   655         else if (m_master)
   637         {
   656         {
   638             GameSchemes->setEnabled(true);
   657             GameSchemes->setEnabled(true);
       
   658             goToSchemePage->setEnabled(true);
       
   659             lblScheme->setEnabled(true);
   639             int num = GameSchemes->findText(scheme);
   660             int num = GameSchemes->findText(scheme);
   640             if (num != -1)
   661             if (num != -1)
   641                 GameSchemes->setCurrentIndex(num);
   662                 GameSchemes->setCurrentIndex(num);
   642             //else
   663             //else
   643             //    GameSchemes->setCurrentIndex(GameSchemes->findText("Default"));
   664             //    GameSchemes->setCurrentIndex(GameSchemes->findText("Default"));
   644         }
   665         }
   645 
   666 
   646         if (weapons == "locked")
   667         if (weapons == "locked")
   647         {
   668         {
   648             WeaponsName->setEnabled(false);
   669             WeaponsName->setEnabled(false);
       
   670             goToWeaponPage->setEnabled(false);
       
   671             lblWeapons->setEnabled(false);
   649             WeaponsName->setCurrentIndex(WeaponsName->findText("Default"));
   672             WeaponsName->setCurrentIndex(WeaponsName->findText("Default"));
   650         }
   673         }
   651         else if (m_master)
   674         else if (m_master)
   652         {
   675         {
   653             WeaponsName->setEnabled(true);
   676             WeaponsName->setEnabled(true);
       
   677             goToWeaponPage->setEnabled(true);
       
   678             lblWeapons->setEnabled(true);
   654             int num = WeaponsName->findText(weapons);
   679             int num = WeaponsName->findText(weapons);
   655             if (num != -1)
   680             if (num != -1)
   656                 WeaponsName->setCurrentIndex(num);
   681                 WeaponsName->setCurrentIndex(num);
   657             //else
   682             //else
   658             //    WeaponsName->setCurrentIndex(WeaponsName->findText("Default"));
   683             //    WeaponsName->setCurrentIndex(WeaponsName->findText("Default"));
   664             bindEntries->setEnabled(false);
   689             bindEntries->setEnabled(false);
   665     }
   690     }
   666     else
   691     else
   667     {
   692     {
   668         GameSchemes->setEnabled(true);
   693         GameSchemes->setEnabled(true);
       
   694         goToSchemePage->setEnabled(true);
       
   695         lblScheme->setEnabled(true);
   669         WeaponsName->setEnabled(true);
   696         WeaponsName->setEnabled(true);
       
   697         goToWeaponPage->setEnabled(true);
       
   698         lblWeapons->setEnabled(true);
   670         bindEntries->setEnabled(true);
   699         bindEntries->setEnabled(true);
   671     }
   700     }
   672     if (!index)
   701     if (!index)
   673     {
   702     {
   674         pMapContainer->setScript(QString(""), QString(""));
   703         pMapContainer->setScript(QString(""), QString(""));