87 |
88 |
88 PageEditTeam::PageEditTeam(QWidget* parent) : |
89 PageEditTeam::PageEditTeam(QWidget* parent) : |
89 AbstractPage(parent) |
90 AbstractPage(parent) |
90 { |
91 { |
91 QGridLayout * pageLayout = new QGridLayout(this); |
92 QGridLayout * pageLayout = new QGridLayout(this); |
92 pageLayout->setColumnStretch(0, 1); |
93 QTabWidget * tbw = new QTabWidget(this); |
93 pageLayout->setColumnMinimumWidth(0, 180); |
94 QWidget * page1 = new QWidget(); |
94 pageLayout->setColumnStretch(1, 100); |
95 QWidget * page2 = new QWidget(); |
95 pageLayout->setColumnMinimumWidth(1, 210); |
96 tbw->addTab(page1, tr("General")); |
96 pageLayout->setColumnStretch(2, 75); |
97 tbw->addTab(page2, tr("Advanced")); |
97 pageLayout->setColumnMinimumWidth(2, 110); |
98 pageLayout->addWidget(tbw, 0, 0, 1, 3); |
98 pageLayout->setColumnStretch(3, 75); |
99 BtnTeamDiscard = addButton(":/res/Exit.png", pageLayout, 1, 0, true); |
99 pageLayout->setColumnMinimumWidth(3, 110); |
100 BtnTeamSave = addButton(":/res/Save.png", pageLayout, 1, 2, true);; |
100 |
101 |
|
102 QHBoxLayout * page1Layout = new QHBoxLayout(page1); |
|
103 page1Layout->setAlignment(Qt::AlignTop); |
|
104 QGridLayout * page2Layout = new QGridLayout(page2); |
|
105 |
|
106 // ====== Page 1 ====== |
|
107 QVBoxLayout * vbox1 = new QVBoxLayout(); |
|
108 QVBoxLayout * vbox2 = new QVBoxLayout(); |
|
109 QVBoxLayout * vbox3 = new QVBoxLayout(); |
|
110 page1Layout->addLayout(vbox1); |
|
111 page1Layout->addLayout(vbox2); |
|
112 page1Layout->addLayout(vbox3); |
|
113 |
101 GBoxTeam = new QGroupBox(this); |
114 GBoxTeam = new QGroupBox(this); |
102 GBoxTeam->setTitle(QGroupBox::tr("Team")); |
115 GBoxTeam->setTitle(QGroupBox::tr("Team")); |
103 GBoxTeam->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); |
116 GBoxTeam->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); |
104 QGridLayout * GBTLayout = new QGridLayout(GBoxTeam); |
117 QGridLayout * GBTLayout = new QGridLayout(GBoxTeam); |
105 TeamNameEdit = new QLineEdit(GBoxTeam); |
118 TeamNameEdit = new QLineEdit(GBoxTeam); |
106 TeamNameEdit->setMaxLength(64); |
119 TeamNameEdit->setMaxLength(64); |
107 GBTLayout->addWidget(TeamNameEdit, 0, 0, 1, 0); |
120 GBTLayout->addWidget(TeamNameEdit, 0, 0, 1, 0); |
108 |
121 vbox1->addWidget(GBoxTeam); |
109 pageLayout->addWidget(GBoxTeam, 0, 0); |
|
110 |
122 |
111 GBoxHedgehogs = new QGroupBox(this); |
123 GBoxHedgehogs = new QGroupBox(this); |
112 GBoxHedgehogs->setTitle(QGroupBox::tr("Team Members")); |
124 GBoxHedgehogs->setTitle(QGroupBox::tr("Team Members")); |
113 GBoxHedgehogs->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); |
125 GBoxHedgehogs->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); |
114 QGridLayout * GBHLayout = new QGridLayout(GBoxHedgehogs); |
126 QGridLayout * GBHLayout = new QGridLayout(GBoxHedgehogs); |
125 HHHats[i]->setModel(hatsModel); |
137 HHHats[i]->setModel(hatsModel); |
126 //HHHats[i]->setModelColumn(1); |
138 //HHHats[i]->setModelColumn(1); |
127 //HHHats[i]->setMinimumWidth(132); |
139 //HHHats[i]->setMinimumWidth(132); |
128 GBHLayout->addWidget(HHHats[i], i, 1); |
140 GBHLayout->addWidget(HHHats[i], i, 1); |
129 } |
141 } |
130 pageLayout->addWidget(GBoxHedgehogs, 1, 0, 2, 1); |
142 vbox1->addWidget(GBoxHedgehogs); |
131 |
143 |
132 BtnTeamDiscard = addButton(":/res/Exit.png", pageLayout, 4, 0, true); |
144 |
133 |
145 GBoxGrave = new QGroupBox(this); |
|
146 GBoxGrave->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); |
|
147 GBoxGrave->setTitle(QGroupBox::tr("Grave")); |
|
148 QGridLayout * GBGLayout = new QGridLayout(GBoxGrave); |
|
149 CBGrave = new QComboBox(GBoxGrave); |
|
150 CBGrave->setMaxCount(65535); |
|
151 GBGLayout->addWidget(CBGrave, 0, 0, 1, 3); |
|
152 GravePreview = new QLabel(GBoxGrave); |
|
153 GravePreview->setScaledContents(false); |
|
154 GBGLayout->addWidget(GravePreview, 1, 1); |
|
155 vbox2->addWidget(GBoxGrave); |
|
156 |
|
157 //page1Layout->addWidget(new QWidget(), 3, 1, 1, 1); |
|
158 |
|
159 GBoxTeamLvl = new QGroupBox(this); |
|
160 GBoxTeamLvl->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); |
|
161 GBoxTeamLvl->setTitle(QGroupBox::tr("Team level")); |
|
162 QGridLayout * GBTLLayout = new QGridLayout(GBoxTeamLvl); |
|
163 CBTeamLvl = new QComboBox(GBoxTeamLvl); |
|
164 CBTeamLvl->addItem(QComboBox::tr("Human")); |
|
165 CBTeamLvl->addItem(QComboBox::tr("Level 5")); |
|
166 CBTeamLvl->addItem(QComboBox::tr("Level 4")); |
|
167 CBTeamLvl->addItem(QComboBox::tr("Level 3")); |
|
168 CBTeamLvl->addItem(QComboBox::tr("Level 2")); |
|
169 CBTeamLvl->addItem(QComboBox::tr("Level 1")); |
|
170 CBTeamLvl->setMaxCount(6); |
|
171 GBTLLayout->addWidget(CBTeamLvl, 0, 0, 1, 3); |
|
172 LevelPict = new QLabel(GBoxTeamLvl); |
|
173 LevelPict->setScaledContents(false); |
|
174 LevelPict->setFixedSize(32, 32); |
|
175 GBTLLayout->addWidget(LevelPict, 1, 1); |
|
176 vbox2->addWidget(GBoxTeamLvl); |
|
177 |
|
178 GBoxFort = new QGroupBox(this); |
|
179 GBoxFort->setTitle(QGroupBox::tr("Fort")); |
|
180 QGridLayout * GBFLayout = new QGridLayout(GBoxFort); |
|
181 CBFort = new QComboBox(GBoxFort); |
|
182 CBFort->setMaxCount(65535); |
|
183 GBFLayout->addWidget(CBFort, 0, 0); |
|
184 FortPreview = new SquareLabel(GBoxFort); |
|
185 FortPreview->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); |
|
186 FortPreview->setPixmap(QPixmap()); |
|
187 GBFLayout->addWidget(FortPreview, 1, 0); |
|
188 vbox3->addWidget(GBoxFort); |
|
189 |
|
190 QDir tmpdir; |
|
191 tmpdir.cd(datadir->absolutePath()); |
|
192 tmpdir.cd("Forts"); |
|
193 tmpdir.setFilter(QDir::Files); |
|
194 |
|
195 CBFort->addItems(tmpdir.entryList(QStringList("*L.png")).replaceInStrings(QRegExp("^(.*)L\\.png"), "\\1")); |
|
196 tmpdir.cd("../Graphics/Graves"); |
|
197 QStringList list = tmpdir.entryList(QStringList("*.png")); |
|
198 for (QStringList::Iterator it = list.begin(); it != list.end(); ++it ) |
|
199 { |
|
200 CBGrave->addItem((*it).replace(QRegExp("^(.*)\\.png"), "\\1")); |
|
201 } |
|
202 |
|
203 connect(CBGrave, SIGNAL(activated(const QString &)), this, SLOT(CBGrave_activated(const QString &))); |
|
204 connect(CBTeamLvl, SIGNAL(activated(int)), this, SLOT(CBTeamLvl_activated(int))); |
|
205 connect(CBFort, SIGNAL(activated(const QString &)), this, SLOT(CBFort_activated(const QString &))); |
|
206 |
|
207 vbox1->addStretch(); |
|
208 vbox2->addStretch(); |
|
209 // vbox3->addStretch(); |
|
210 |
|
211 // ====== Page 2 ====== |
134 GBoxBinds = new QGroupBox(this); |
212 GBoxBinds = new QGroupBox(this); |
135 GBoxBinds->setTitle(QGroupBox::tr("Key binds")); |
213 GBoxBinds->setTitle(QGroupBox::tr("Key binds")); |
136 QGridLayout * GBBLayout = new QGridLayout(GBoxBinds); |
214 QGridLayout * GBBLayout = new QGridLayout(GBoxBinds); |
137 BindsBox = new QToolBox(GBoxBinds); |
215 BindsBox = new QToolBox(GBoxBinds); |
138 BindsBox->setLineWidth(0); |
216 BindsBox->setLineWidth(0); |
143 BindsBox->addItem(page_W, QToolBox::tr("Weapons")); |
221 BindsBox->addItem(page_W, QToolBox::tr("Weapons")); |
144 page_WP = new QWidget(); |
222 page_WP = new QWidget(); |
145 BindsBox->addItem(page_WP, QToolBox::tr("Weapon properties")); |
223 BindsBox->addItem(page_WP, QToolBox::tr("Weapon properties")); |
146 page_O = new QWidget(); |
224 page_O = new QWidget(); |
147 BindsBox->addItem(page_O, QToolBox::tr("Other")); |
225 BindsBox->addItem(page_O, QToolBox::tr("Other")); |
148 pageLayout->addWidget(GBoxBinds, 0, 1, 5, 1); |
226 page2Layout->addWidget(GBoxBinds, 0, 0); |
149 |
227 |
150 QStringList binds; |
228 QStringList binds; |
151 for(int i = 0; strlen(sdlkeys[i][1]) > 0; i++) |
229 for(int i = 0; strlen(sdlkeys[i][1]) > 0; i++) |
152 { |
230 { |
153 binds << sdlkeys[i][1]; |
231 binds << sdlkeys[i][1]; |
168 num++; |
246 num++; |
169 } while (!cbinds[i++].chwidget); |
247 } while (!cbinds[i++].chwidget); |
170 pagelayout->addWidget(new QWidget(BindsBox->widget(widind)), num, 0, 1, 2); |
248 pagelayout->addWidget(new QWidget(BindsBox->widget(widind)), num, 0, 1, 2); |
171 widind++; |
249 widind++; |
172 } |
250 } |
173 |
|
174 GBoxGrave = new QGroupBox(this); |
|
175 GBoxGrave->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); |
|
176 GBoxGrave->setTitle(QGroupBox::tr("Grave")); |
|
177 QGridLayout * GBGLayout = new QGridLayout(GBoxGrave); |
|
178 CBGrave = new QComboBox(GBoxGrave); |
|
179 CBGrave->setMaxCount(65535); |
|
180 GBGLayout->addWidget(CBGrave, 0, 0, 1, 3); |
|
181 GravePreview = new QLabel(GBoxGrave); |
|
182 GravePreview->setScaledContents(false); |
|
183 pageLayout->addWidget(GBoxGrave, 0, 3, 2, 1); |
|
184 GBGLayout->addWidget(GravePreview, 1, 1); |
|
185 |
|
186 GBoxTeamLvl = new QGroupBox(this); |
|
187 GBoxTeamLvl->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); |
|
188 GBoxTeamLvl->setTitle(QGroupBox::tr("Team level")); |
|
189 QGridLayout * GBTLLayout = new QGridLayout(GBoxTeamLvl); |
|
190 CBTeamLvl = new QComboBox(GBoxTeamLvl); |
|
191 CBTeamLvl->addItem(QComboBox::tr("Human")); |
|
192 CBTeamLvl->addItem(QComboBox::tr("Level 5")); |
|
193 CBTeamLvl->addItem(QComboBox::tr("Level 4")); |
|
194 CBTeamLvl->addItem(QComboBox::tr("Level 3")); |
|
195 CBTeamLvl->addItem(QComboBox::tr("Level 2")); |
|
196 CBTeamLvl->addItem(QComboBox::tr("Level 1")); |
|
197 CBTeamLvl->setMaxCount(6); |
|
198 GBTLLayout->addWidget(CBTeamLvl, 0, 0, 1, 3); |
|
199 LevelPict = new QLabel(GBoxTeamLvl); |
|
200 LevelPict->setScaledContents(false); |
|
201 LevelPict->setFixedSize(32, 32); |
|
202 pageLayout->addWidget(GBoxTeamLvl, 0, 2, 2, 1); |
|
203 GBTLLayout->addWidget(LevelPict, 1, 1); |
|
204 |
|
205 GBoxFort = new QGroupBox(this); |
|
206 GBoxFort->setTitle(QGroupBox::tr("Fort")); |
|
207 QGridLayout * GBFLayout = new QGridLayout(GBoxFort); |
|
208 CBFort = new QComboBox(GBoxFort); |
|
209 CBFort->setMaxCount(65535); |
|
210 GBFLayout->addWidget(CBFort, 0, 0); |
|
211 FortPreview = new SquareLabel(GBoxFort); |
|
212 FortPreview->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); |
|
213 FortPreview->setPixmap(QPixmap()); |
|
214 GBFLayout->addWidget(FortPreview, 1, 0); |
|
215 pageLayout->addWidget(GBoxFort, 2, 2, 1, 2); |
|
216 |
|
217 BtnTeamSave = addButton(":/res/Save.png", pageLayout, 4, 3, true);; |
|
218 |
|
219 QDir tmpdir; |
|
220 tmpdir.cd(datadir->absolutePath()); |
|
221 tmpdir.cd("Forts"); |
|
222 tmpdir.setFilter(QDir::Files); |
|
223 |
|
224 CBFort->addItems(tmpdir.entryList(QStringList("*L.png")).replaceInStrings(QRegExp("^(.*)L\\.png"), "\\1")); |
|
225 tmpdir.cd("../Graphics/Graves"); |
|
226 QStringList list = tmpdir.entryList(QStringList("*.png")); |
|
227 for (QStringList::Iterator it = list.begin(); it != list.end(); ++it ) |
|
228 { |
|
229 CBGrave->addItem((*it).replace(QRegExp("^(.*)\\.png"), "\\1")); |
|
230 } |
|
231 |
|
232 connect(CBGrave, SIGNAL(activated(const QString &)), this, SLOT(CBGrave_activated(const QString &))); |
|
233 connect(CBTeamLvl, SIGNAL(activated(int)), this, SLOT(CBTeamLvl_activated(int))); |
|
234 connect(CBFort, SIGNAL(activated(const QString &)), this, SLOT(CBFort_activated(const QString &))); |
|
235 } |
251 } |
236 |
252 |
237 void PageEditTeam::CBGrave_activated(const QString & gravename) |
253 void PageEditTeam::CBGrave_activated(const QString & gravename) |
238 { |
254 { |
239 QPixmap pix(datadir->absolutePath() + "/Graphics/Graves/" + gravename + ".png"); |
255 QPixmap pix(datadir->absolutePath() + "/Graphics/Graves/" + gravename + ".png"); |
596 |
612 |
597 PageSinglePlayer::PageSinglePlayer(QWidget* parent) : AbstractPage(parent) |
613 PageSinglePlayer::PageSinglePlayer(QWidget* parent) : AbstractPage(parent) |
598 { |
614 { |
599 QFont * font14 = new QFont("MS Shell Dlg", 14); |
615 QFont * font14 = new QFont("MS Shell Dlg", 14); |
600 QGridLayout * pageLayout = new QGridLayout(this); |
616 QGridLayout * pageLayout = new QGridLayout(this); |
601 pageLayout->setColumnStretch(0, 1); |
617 // pageLayout->setColumnStretch(0, 1); |
602 pageLayout->setColumnStretch(1, 2); |
618 // pageLayout->setColumnStretch(1, 2); |
603 pageLayout->setColumnStretch(2, 1); |
619 // pageLayout->setColumnStretch(2, 1); |
604 pageLayout->setRowStretch(0, 1); |
620 pageLayout->setRowStretch(0, 1); |
605 pageLayout->setRowStretch(6, 1); |
621 pageLayout->setRowStretch(6, 1); |
606 |
622 |
607 BtnSimpleGamePage = addButton(tr("Simple Game"), pageLayout, 1, 1); |
623 BtnSimpleGamePage = addButton(tr("Simple Game"), pageLayout, 1, 1); |
608 BtnTrainPage = addButton(tr("Training"), pageLayout, 2, 1); |
624 BtnTrainPage = addButton(tr("Training"), pageLayout, 2, 1); |