58 connect(imageButt, SIGNAL(clicked()), this, SLOT(setRandomTheme())); |
60 connect(imageButt, SIGNAL(clicked()), this, SLOT(setRandomTheme())); |
59 |
61 |
60 chooseMap = new QComboBox(this); |
62 chooseMap = new QComboBox(this); |
61 chooseMap->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); |
63 chooseMap->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); |
62 chooseMap->addItem(QComboBox::tr("generated map...")); |
64 chooseMap->addItem(QComboBox::tr("generated map...")); |
|
65 chooseMap->addItem(QComboBox::tr("generated maze...")); |
63 for (int i = 0; i < mapList->size(); ++i) { |
66 for (int i = 0; i < mapList->size(); ++i) { |
64 QString map = (*mapList)[i]; |
67 QString map = (*mapList)[i]; |
65 QFile mapCfgFile( |
68 QFile mapCfgFile( |
66 QString("%1/Maps/%2/map.cfg") |
69 QString("%1/Maps/%2/map.cfg") |
67 .arg(datadir->absolutePath()) |
70 .arg(datadir->absolutePath()) |
108 CB_TemplateFilter->addItem(tr("Wacky"), 5); |
111 CB_TemplateFilter->addItem(tr("Wacky"), 5); |
109 mainLayout.addWidget(CB_TemplateFilter, 2, 1); |
112 mainLayout.addWidget(CB_TemplateFilter, 2, 1); |
110 |
113 |
111 connect(CB_TemplateFilter, SIGNAL(currentIndexChanged(int)), this, SLOT(templateFilterChanged(int))); |
114 connect(CB_TemplateFilter, SIGNAL(currentIndexChanged(int)), this, SLOT(templateFilterChanged(int))); |
112 |
115 |
|
116 maze_size_label = new QLabel("Size", this); |
|
117 mainLayout.addWidget(maze_size_label, 2, 0); |
|
118 maze_size_label->hide(); |
|
119 maze_size_selection = new QComboBox(this); |
|
120 maze_size_selection->addItem(tr("Small"), 0); |
|
121 maze_size_selection->addItem(tr("Medium"), 1); |
|
122 maze_size_selection->addItem(tr("Large"), 2); |
|
123 mainLayout.addWidget(maze_size_selection, 2, 1); |
|
124 maze_size_selection->hide(); |
|
125 connect(maze_size_selection, SIGNAL(currentIndexChanged(int)), this, SLOT(setMaze_size(int))); |
|
126 |
113 gbThemes = new IconedGroupBox(this); |
127 gbThemes = new IconedGroupBox(this); |
114 gbThemes->setTitleTextPadding(60); |
128 gbThemes->setTitleTextPadding(60); |
115 gbThemes->setContentTopPadding(6); |
129 gbThemes->setContentTopPadding(6); |
116 gbThemes->setTitle(tr("Themes")); |
130 gbThemes->setTitle(tr("Themes")); |
117 |
131 |
170 linearGrad.setColorAt(0, QColor(66, 115, 225)); |
184 linearGrad.setColorAt(0, QColor(66, 115, 225)); |
171 p.fillRect(QRect(0, 0, 256, 128), linearGrad); |
185 p.fillRect(QRect(0, 0, 256, 128), linearGrad); |
172 p.drawPixmap(QPoint(0, 0), px); |
186 p.drawPixmap(QPoint(0, 0), px); |
173 |
187 |
174 addInfoToPreview(pxres); |
188 addInfoToPreview(pxres); |
175 chooseMap->setCurrentIndex(0); |
189 chooseMap->setCurrentIndex(mapgen); |
176 pMap = 0; |
190 pMap = 0; |
177 } |
191 } |
178 |
192 |
179 void HWMapContainer::setHHLimit(int newHHLimit) |
193 void HWMapContainer::setHHLimit(int newHHLimit) |
180 { |
194 { |
181 hhLimit = newHHLimit; |
195 hhLimit = newHHLimit; |
182 } |
196 } |
183 |
197 |
184 void HWMapContainer::mapChanged(int index) |
198 void HWMapContainer::mapChanged(int index) |
185 { |
199 { |
186 if(!index) { |
200 switch(index) { |
|
201 case MAPGEN_REGULAR: |
|
202 mapgen = MAPGEN_REGULAR; |
187 changeImage(); |
203 changeImage(); |
188 gbThemes->show(); |
204 gbThemes->show(); |
189 lblFilter->show(); |
205 lblFilter->show(); |
190 CB_TemplateFilter->show(); |
206 CB_TemplateFilter->show(); |
|
207 maze_size_label->hide(); |
|
208 maze_size_selection->hide(); |
191 emit mapChanged("+rnd+"); |
209 emit mapChanged("+rnd+"); |
192 emit themeChanged(chooseMap->itemData(0).toList()[1].toString()); |
210 emit mapgenChanged(mapgen); |
193 } else |
211 emit themeChanged(chooseMap->itemData(index).toList()[1].toString()); |
194 { |
212 break; |
|
213 case MAPGEN_MAZE: |
|
214 mapgen = MAPGEN_MAZE; |
|
215 changeImage(); |
|
216 gbThemes->show(); |
|
217 lblFilter->hide(); |
|
218 CB_TemplateFilter->hide(); |
|
219 maze_size_label->show(); |
|
220 maze_size_selection->show(); |
|
221 emit mapChanged("+rnd+"); |
|
222 emit mapgenChanged(mapgen); |
|
223 emit themeChanged(chooseMap->itemData(index).toList()[1].toString()); |
|
224 break; |
|
225 default: |
195 loadMap(index); |
226 loadMap(index); |
196 gbThemes->hide(); |
227 gbThemes->hide(); |
197 lblFilter->hide(); |
228 lblFilter->hide(); |
198 CB_TemplateFilter->hide(); |
229 CB_TemplateFilter->hide(); |
|
230 maze_size_label->hide(); |
|
231 maze_size_selection->hide(); |
199 emit mapChanged(chooseMap->itemData(index).toList()[0].toString()); |
232 emit mapChanged(chooseMap->itemData(index).toList()[0].toString()); |
200 } |
233 } |
201 } |
234 } |
202 |
235 |
203 void HWMapContainer::loadMap(int index) |
236 void HWMapContainer::loadMap(int index) |
243 } |
276 } |
244 |
277 |
245 pMap = new HWMap(); |
278 pMap = new HWMap(); |
246 connect(pMap, SIGNAL(ImageReceived(const QImage)), this, SLOT(setImage(const QImage))); |
279 connect(pMap, SIGNAL(ImageReceived(const QImage)), this, SLOT(setImage(const QImage))); |
247 connect(pMap, SIGNAL(HHLimitReceived(int)), this, SLOT(setHHLimit(int))); |
280 connect(pMap, SIGNAL(HHLimitReceived(int)), this, SLOT(setHHLimit(int))); |
248 pMap->getImage(m_seed.toStdString(), getTemplateFilter()); |
281 pMap->getImage(m_seed.toStdString(), getTemplateFilter(), mapgen, maze_size); |
249 } |
282 } |
250 |
283 |
251 void HWMapContainer::themeSelected(int currentRow) |
284 void HWMapContainer::themeSelected(int currentRow) |
252 { |
285 { |
253 QString theme = Themes->at(currentRow); |
286 QString theme = Themes->at(currentRow); |
255 mapInfo.push_back(QString("+rnd+")); |
288 mapInfo.push_back(QString("+rnd+")); |
256 mapInfo.push_back(theme); |
289 mapInfo.push_back(theme); |
257 mapInfo.push_back(18); |
290 mapInfo.push_back(18); |
258 mapInfo.push_back(false); |
291 mapInfo.push_back(false); |
259 chooseMap->setItemData(0, mapInfo); |
292 chooseMap->setItemData(0, mapInfo); |
|
293 chooseMap->setItemData(1, mapInfo); |
260 gbThemes->setIcon(QIcon(QString("%1/Themes/%2/icon.png").arg(datadir->absolutePath()).arg(theme))); |
294 gbThemes->setIcon(QIcon(QString("%1/Themes/%2/icon.png").arg(datadir->absolutePath()).arg(theme))); |
261 emit themeChanged(theme); |
295 emit themeChanged(theme); |
262 } |
296 } |
263 |
297 |
264 QString HWMapContainer::getCurrentSeed() const |
298 QString HWMapContainer::getCurrentSeed() const |