543 { |
543 { |
544 WeaponsNameLabel->setText(""); |
544 WeaponsNameLabel->setText(""); |
545 } |
545 } |
546 } |
546 } |
547 |
547 |
|
548 void GameCFGWidget::updateSchemeEnabledStates(int scriptIndex) |
|
549 { |
|
550 QString scheme; |
|
551 QString weapons; |
|
552 if(scriptIndex > 0) |
|
553 { |
|
554 scheme = Scripts->itemData(scriptIndex, GameStyleModel::SchemeRole).toString(); |
|
555 weapons = Scripts->itemData(scriptIndex, GameStyleModel::WeaponsRole).toString(); |
|
556 } |
|
557 else |
|
558 { |
|
559 scheme = pMapContainer->getCurrentScheme(); |
|
560 weapons = pMapContainer->getCurrentWeapons(); |
|
561 } |
|
562 if (scheme == "locked") |
|
563 { |
|
564 GameSchemes->setEnabled(false); |
|
565 goToSchemePage->setEnabled(false); |
|
566 lblScheme->setEnabled(false); |
|
567 GameSchemes->setCurrentIndex(GameSchemes->findText("Default")); |
|
568 } |
|
569 else if(m_master) |
|
570 { |
|
571 GameSchemes->setEnabled(true); |
|
572 goToSchemePage->setEnabled(true); |
|
573 lblScheme->setEnabled(true); |
|
574 int num = GameSchemes->findText(scheme); |
|
575 if (num != -1) |
|
576 GameSchemes->setCurrentIndex(num); |
|
577 } |
|
578 |
|
579 if (weapons == "locked") |
|
580 { |
|
581 WeaponsName->setEnabled(false); |
|
582 goToWeaponPage->setEnabled(false); |
|
583 lblWeapons->setEnabled(false); |
|
584 WeaponsName->setCurrentIndex(WeaponsName->findText("Default")); |
|
585 } |
|
586 else if(m_master) |
|
587 { |
|
588 WeaponsName->setEnabled(true); |
|
589 goToWeaponPage->setEnabled(true); |
|
590 lblWeapons->setEnabled(true); |
|
591 int num = WeaponsName->findText(weapons); |
|
592 if (num != -1) |
|
593 WeaponsName->setCurrentIndex(num); |
|
594 } |
|
595 |
|
596 if (scheme != "locked" && weapons != "locked") |
|
597 bindEntries->setEnabled(true); |
|
598 else |
|
599 bindEntries->setEnabled(false); |
|
600 } |
|
601 |
548 void GameCFGWidget::mapChanged(const QString & value) |
602 void GameCFGWidget::mapChanged(const QString & value) |
549 { |
603 { |
550 if(isEnabled() && pMapContainer->getCurrentIsMission()) |
604 if(isEnabled() && pMapContainer->getCurrentIsMission()) |
551 { |
605 { |
552 Scripts->setEnabled(false); |
606 Scripts->setEnabled(false); |
553 lblScript->setEnabled(false); |
607 lblScript->setEnabled(false); |
554 Scripts->setCurrentIndex(0); |
608 Scripts->setCurrentIndex(0); |
555 |
609 updateSchemeEnabledStates(0); |
556 if (pMapContainer->getCurrentScheme() == "locked") |
|
557 { |
|
558 GameSchemes->setEnabled(false); |
|
559 goToSchemePage->setEnabled(false); |
|
560 lblScheme->setEnabled(false); |
|
561 GameSchemes->setCurrentIndex(GameSchemes->findText("Default")); |
|
562 } |
|
563 else |
|
564 { |
|
565 GameSchemes->setEnabled(true); |
|
566 goToSchemePage->setEnabled(true); |
|
567 lblScheme->setEnabled(true); |
|
568 int num = GameSchemes->findText(pMapContainer->getCurrentScheme()); |
|
569 if (num != -1) |
|
570 GameSchemes->setCurrentIndex(num); |
|
571 //else |
|
572 // GameSchemes->setCurrentIndex(GameSchemes->findText("Default")); |
|
573 } |
|
574 |
|
575 if (pMapContainer->getCurrentWeapons() == "locked") |
|
576 { |
|
577 WeaponsName->setEnabled(false); |
|
578 goToWeaponPage->setEnabled(false); |
|
579 lblWeapons->setEnabled(false); |
|
580 WeaponsName->setCurrentIndex(WeaponsName->findText("Default")); |
|
581 } |
|
582 else |
|
583 { |
|
584 WeaponsName->setEnabled(true); |
|
585 goToWeaponPage->setEnabled(true); |
|
586 lblWeapons->setEnabled(true); |
|
587 int num = WeaponsName->findText(pMapContainer->getCurrentWeapons()); |
|
588 if (num != -1) |
|
589 WeaponsName->setCurrentIndex(num); |
|
590 //else |
|
591 // WeaponsName->setCurrentIndex(WeaponsName->findText("Default")); |
|
592 } |
|
593 |
|
594 if (pMapContainer->getCurrentScheme() != "locked" && pMapContainer->getCurrentWeapons() != "locked") |
|
595 bindEntries->setEnabled(true); |
|
596 else |
|
597 bindEntries->setEnabled(false); |
|
598 } |
610 } |
599 else |
611 else |
600 { |
612 { |
601 Scripts->setEnabled(true); |
613 Scripts->setEnabled(true); |
602 lblScript->setEnabled(true); |
614 lblScript->setEnabled(true); |
669 const QString & name = Scripts->itemText(index); |
681 const QString & name = Scripts->itemText(index); |
670 m_curScript = name; |
682 m_curScript = name; |
671 |
683 |
672 if(isEnabled() && index > 0) |
684 if(isEnabled() && index > 0) |
673 { |
685 { |
674 QString scheme = Scripts->itemData(index, GameStyleModel::SchemeRole).toString(); |
686 updateSchemeEnabledStates(index); |
675 QString weapons = Scripts->itemData(index, GameStyleModel::WeaponsRole).toString(); |
|
676 |
|
677 if (scheme == "locked") |
|
678 { |
|
679 GameSchemes->setEnabled(false); |
|
680 goToSchemePage->setEnabled(false); |
|
681 lblScheme->setEnabled(false); |
|
682 GameSchemes->setCurrentIndex(GameSchemes->findText("Default")); |
|
683 } |
|
684 else if (m_master) |
|
685 { |
|
686 GameSchemes->setEnabled(true); |
|
687 goToSchemePage->setEnabled(true); |
|
688 lblScheme->setEnabled(true); |
|
689 int num = GameSchemes->findText(scheme); |
|
690 if (num != -1) |
|
691 GameSchemes->setCurrentIndex(num); |
|
692 //else |
|
693 // GameSchemes->setCurrentIndex(GameSchemes->findText("Default")); |
|
694 } |
|
695 |
|
696 if (weapons == "locked") |
|
697 { |
|
698 WeaponsName->setEnabled(false); |
|
699 goToWeaponPage->setEnabled(false); |
|
700 lblWeapons->setEnabled(false); |
|
701 WeaponsName->setCurrentIndex(WeaponsName->findText("Default")); |
|
702 } |
|
703 else if (m_master) |
|
704 { |
|
705 WeaponsName->setEnabled(true); |
|
706 goToWeaponPage->setEnabled(true); |
|
707 lblWeapons->setEnabled(true); |
|
708 int num = WeaponsName->findText(weapons); |
|
709 if (num != -1) |
|
710 WeaponsName->setCurrentIndex(num); |
|
711 //else |
|
712 // WeaponsName->setCurrentIndex(WeaponsName->findText("Default")); |
|
713 } |
|
714 |
|
715 if (scheme != "locked" && weapons != "locked") |
|
716 bindEntries->setEnabled(true); |
|
717 else |
|
718 bindEntries->setEnabled(false); |
|
719 } |
687 } |
720 else |
688 else |
721 { |
689 { |
722 GameSchemes->setEnabled(true); |
690 GameSchemes->setEnabled(true); |
723 goToSchemePage->setEnabled(true); |
691 goToSchemePage->setEnabled(true); |