110 GBoxOptionsLayout->addWidget(lblScript, 1, 0); |
110 GBoxOptionsLayout->addWidget(lblScript, 1, 0); |
111 |
111 |
112 Scripts = new QComboBox(this); |
112 Scripts = new QComboBox(this); |
113 Scripts->setMaxVisibleItems(30); |
113 Scripts->setMaxVisibleItems(30); |
114 GBoxOptionsLayout->addWidget(Scripts, 1, 1); |
114 GBoxOptionsLayout->addWidget(Scripts, 1, 1); |
115 |
|
116 Scripts->setModel(DataManager::instance().gameStyleModel()); |
115 Scripts->setModel(DataManager::instance().gameStyleModel()); |
117 m_curScript = Scripts->currentText(); |
116 m_curScript = Scripts->currentText(); |
|
117 |
|
118 ScriptsLabel = new QLabel(this); |
|
119 ScriptsLabel->setHidden(true); |
|
120 GBoxOptionsLayout->addWidget(ScriptsLabel, 1, 1); |
|
121 |
118 connect(Scripts, SIGNAL(currentIndexChanged(int)), this, SLOT(scriptChanged(int))); |
122 connect(Scripts, SIGNAL(currentIndexChanged(int)), this, SLOT(scriptChanged(int))); |
119 |
123 |
120 QWidget *SchemeWidget = new QWidget(this); |
124 QWidget *SchemeWidget = new QWidget(this); |
121 GBoxOptionsLayout->addWidget(SchemeWidget, 2, 0, 1, 2); |
125 GBoxOptionsLayout->addWidget(SchemeWidget, 2, 0, 1, 2); |
122 |
126 |
124 SchemeWidgetLayout->setMargin(0); |
128 SchemeWidgetLayout->setMargin(0); |
125 |
129 |
126 GameSchemes = new QComboBox(SchemeWidget); |
130 GameSchemes = new QComboBox(SchemeWidget); |
127 GameSchemes->setMaxVisibleItems(30); |
131 GameSchemes->setMaxVisibleItems(30); |
128 SchemeWidgetLayout->addWidget(GameSchemes, 0, 2); |
132 SchemeWidgetLayout->addWidget(GameSchemes, 0, 2); |
|
133 |
|
134 GameSchemesLabel = new QLabel(SchemeWidget); |
|
135 GameSchemesLabel->setHidden(true); |
|
136 SchemeWidgetLayout->addWidget(GameSchemesLabel, 0, 2); |
|
137 |
129 connect(GameSchemes, SIGNAL(currentIndexChanged(int)), this, SLOT(schemeChanged(int))); |
138 connect(GameSchemes, SIGNAL(currentIndexChanged(int)), this, SLOT(schemeChanged(int))); |
130 |
139 |
131 lblScheme = new QLabel(QLabel::tr("Scheme"), SchemeWidget); |
140 lblScheme = new QLabel(QLabel::tr("Scheme"), SchemeWidget); |
132 SchemeWidgetLayout->addWidget(lblScheme, 0, 0); |
141 SchemeWidgetLayout->addWidget(lblScheme, 0, 0); |
133 |
142 |
146 SchemeWidgetLayout->addWidget(lblWeapons, 1, 0); |
155 SchemeWidgetLayout->addWidget(lblWeapons, 1, 0); |
147 |
156 |
148 WeaponsName = new QComboBox(SchemeWidget); |
157 WeaponsName = new QComboBox(SchemeWidget); |
149 WeaponsName->setMaxVisibleItems(30); |
158 WeaponsName->setMaxVisibleItems(30); |
150 SchemeWidgetLayout->addWidget(WeaponsName, 1, 2); |
159 SchemeWidgetLayout->addWidget(WeaponsName, 1, 2); |
|
160 |
|
161 WeaponsNameLabel = new QLabel(SchemeWidget); |
|
162 WeaponsNameLabel->setHidden(true); |
|
163 SchemeWidgetLayout->addWidget(WeaponsNameLabel, 1, 2); |
151 |
164 |
152 connect(WeaponsName, SIGNAL(currentIndexChanged(int)), this, SLOT(ammoChanged(int))); |
165 connect(WeaponsName, SIGNAL(currentIndexChanged(int)), this, SLOT(ammoChanged(int))); |
153 |
166 |
154 goToWeaponPage = new QPushButton(SchemeWidget); |
167 goToWeaponPage = new QPushButton(SchemeWidget); |
155 goToWeaponPage->setWhatsThis(tr("Edit weapons")); |
168 goToWeaponPage->setWhatsThis(tr("Edit weapons")); |
468 pMapContainer->setMazeSize(value.toUInt()); |
481 pMapContainer->setMazeSize(value.toUInt()); |
469 return; |
482 return; |
470 } |
483 } |
471 if (param == "SCRIPT") |
484 if (param == "SCRIPT") |
472 { |
485 { |
473 Scripts->setCurrentIndex(Scripts->findText(value)); |
486 int in = Scripts->findText(value); |
|
487 Scripts->setCurrentIndex(in); |
|
488 ScriptsLabel->setText(value); |
474 pMapContainer->setScript(Scripts->itemData(Scripts->currentIndex(), GameStyleModel::ScriptRole).toString().toUtf8(), schemeData(43).toString()); |
489 pMapContainer->setScript(Scripts->itemData(Scripts->currentIndex(), GameStyleModel::ScriptRole).toString().toUtf8(), schemeData(43).toString()); |
475 return; |
490 return; |
476 } |
491 } |
477 if (param == "DRAWNMAP") |
492 if (param == "DRAWNMAP") |
478 { |
493 { |
696 WeaponsName->setEnabled(true); |
722 WeaponsName->setEnabled(true); |
697 goToWeaponPage->setEnabled(true); |
723 goToWeaponPage->setEnabled(true); |
698 lblWeapons->setEnabled(true); |
724 lblWeapons->setEnabled(true); |
699 bindEntries->setEnabled(true); |
725 bindEntries->setEnabled(true); |
700 } |
726 } |
701 if (!index) |
727 if (index == -1) |
702 { |
728 { |
703 pMapContainer->setScript(QString(""), QString("")); |
729 pMapContainer->setScript(QString(""), QString("")); |
|
730 ScriptsLabel->setStyleSheet("color: #b50000;"); |
704 } |
731 } |
705 else |
732 else |
706 { |
733 { |
707 pMapContainer->setScript(Scripts->itemData(index, GameStyleModel::ScriptRole).toString().toUtf8(), schemeData(43).toString()); |
734 pMapContainer->setScript(Scripts->itemData(index, GameStyleModel::ScriptRole).toString().toUtf8(), schemeData(43).toString()); |
708 } |
735 ScriptsLabel->setText(Scripts->currentText()); |
|
736 ScriptsLabel->setStyleSheet(""); |
|
737 } |
|
738 |
709 emit paramChanged("SCRIPT", QStringList(name)); |
739 emit paramChanged("SCRIPT", QStringList(name)); |
710 } |
740 } |
711 |
741 |
712 void GameCFGWidget::mapgenChanged(MapGenerator m) |
742 void GameCFGWidget::mapgenChanged(MapGenerator m) |
713 { |
743 { |
761 void GameCFGWidget::setMaster(bool master) |
791 void GameCFGWidget::setMaster(bool master) |
762 { |
792 { |
763 if (master == m_master) return; |
793 if (master == m_master) return; |
764 m_master = master; |
794 m_master = master; |
765 |
795 |
|
796 if (master) |
|
797 { |
|
798 // Reset script if not found |
|
799 if (Scripts->currentIndex() == -1) |
|
800 { |
|
801 Scripts->setCurrentIndex(Scripts->findText("Normal")); |
|
802 } |
|
803 } |
|
804 |
766 pMapContainer->setMaster(master); |
805 pMapContainer->setMaster(master); |
|
806 |
|
807 GameSchemes->setHidden(!master); |
|
808 WeaponsName->setHidden(!master); |
|
809 Scripts->setHidden(!master); |
|
810 goToSchemePage->setHidden(!master); |
|
811 goToWeaponPage->setHidden(!master); |
|
812 bindEntries->setHidden(!master); |
|
813 |
|
814 GameSchemesLabel->setHidden(master); |
|
815 WeaponsNameLabel->setHidden(master); |
|
816 ScriptsLabel->setHidden(master); |
767 |
817 |
768 foreach (QWidget *widget, m_childWidgets) |
818 foreach (QWidget *widget, m_childWidgets) |
769 widget->setEnabled(master); |
819 widget->setEnabled(master); |
770 } |
820 } |