QTfrontend/mapContainer.cpp
changeset 4487 dbf69c7c5e00
parent 4419 3d99c2c806ec
child 4489 c4ca9ced258b
equal deleted inserted replaced
4485:85695e3d2623 4487:dbf69c7c5e00
    68 QComboBox::tr("generated map..."));
    68 QComboBox::tr("generated map..."));
    69     chooseMap->addItem(
    69     chooseMap->addItem(
    70 // FIXME - need real icons. Disabling until then
    70 // FIXME - need real icons. Disabling until then
    71 //QIcon(":/res/mapMaze.png"), 
    71 //QIcon(":/res/mapMaze.png"), 
    72 QComboBox::tr("generated maze..."));
    72 QComboBox::tr("generated maze..."));
       
    73 
       
    74     chooseMap->addItem(QComboBox::tr("hand drawn map..."));
       
    75     chooseMap->insertSeparator(chooseMap->count()); // separator between generators and missions
       
    76 
    73     chooseMap->insertSeparator(chooseMap->count()); // separator between generators and missions
    77     chooseMap->insertSeparator(chooseMap->count()); // separator between generators and missions
    74 
    78 
    75     int missionindex = chooseMap->count();
    79     int missionindex = chooseMap->count();
    76     numMissions = 0;
    80     numMissions = 0;
    77     for (int i = 0; i < mapList->size(); ++i) {
    81     for (int i = 0; i < mapList->size(); ++i) {
   250         maze_size_selection->show();
   254         maze_size_selection->show();
   251         emit mapChanged("+maze+");
   255         emit mapChanged("+maze+");
   252         emit mapgenChanged(mapgen);
   256         emit mapgenChanged(mapgen);
   253         emit themeChanged(chooseMap->itemData(index).toList()[1].toString());
   257         emit themeChanged(chooseMap->itemData(index).toList()[1].toString());
   254         break;
   258         break;
       
   259     case MAPGEN_DRAWN:
       
   260         mapgen = MAPGEN_DRAWN;
       
   261         changeImage();
       
   262         gbThemes->show();
       
   263         lblFilter->hide();
       
   264         CB_TemplateFilter->hide();
       
   265         maze_size_label->hide();
       
   266         maze_size_selection->hide();
       
   267         emit mapChanged("+drawn+");
       
   268         emit mapgenChanged(mapgen);
       
   269         emit themeChanged(chooseMap->itemData(index).toList()[1].toString());
       
   270         break;
   255     default:
   271     default:
   256         loadMap(index);
   272         loadMap(index);
   257         gbThemes->hide();
   273         gbThemes->hide();
   258         lblFilter->hide();
   274         lblFilter->hide();
   259         CB_TemplateFilter->hide();
   275         CB_TemplateFilter->hide();
   312 }
   328 }
   313 
   329 
   314 void HWMapContainer::themeSelected(int currentRow)
   330 void HWMapContainer::themeSelected(int currentRow)
   315 {
   331 {
   316     QString theme = Themes->at(currentRow);
   332     QString theme = Themes->at(currentRow);
   317     QList<QVariant> mapInfoRegular;
   333     QList<QVariant> mapInfo;
   318     mapInfoRegular.push_back(QString("+rnd+"));
   334     mapInfo.push_back(QString("+rnd+"));
   319     mapInfoRegular.push_back(theme);
   335     mapInfo.push_back(theme);
   320     mapInfoRegular.push_back(18);
   336     mapInfo.push_back(18);
   321     mapInfoRegular.push_back(false);
   337     mapInfo.push_back(false);
   322     chooseMap->setItemData(0, mapInfoRegular);
   338     chooseMap->setItemData(0, mapInfo);
   323     QList<QVariant> mapInfoMaze;
   339     mapInfo[0] = QString("+maze+");
   324     mapInfoMaze.push_back(QString("+maze+"));
   340     chooseMap->setItemData(1, mapInfo);
   325     mapInfoMaze.push_back(theme);
   341     mapInfo[0] = QString("+drawn+");
   326     mapInfoMaze.push_back(18);
   342     chooseMap->setItemData(2, mapInfo);
   327     mapInfoMaze.push_back(false);
       
   328     chooseMap->setItemData(1, mapInfoMaze);
       
   329     gbThemes->setIcon(QIcon(QString("%1/Themes/%2/icon.png").arg(datadir->absolutePath()).arg(theme)));
   343     gbThemes->setIcon(QIcon(QString("%1/Themes/%2/icon.png").arg(datadir->absolutePath()).arg(theme)));
   330     emit themeChanged(theme);
   344     emit themeChanged(theme);
   331 }
   345 }
   332 
   346 
   333 QString HWMapContainer::getCurrentSeed() const
   347 QString HWMapContainer::getCurrentSeed() const
   374         changeImage();
   388         changeImage();
   375 }
   389 }
   376 
   390 
   377 void HWMapContainer::setMap(const QString & map)
   391 void HWMapContainer::setMap(const QString & map)
   378 {
   392 {
   379     if(map == "+rnd+" || map == "+maze+")
   393     if(map == "+rnd+" || map == "+maze+" || map == "+drawn+")
   380     {
   394     {
   381         changeImage();
   395         changeImage();
   382         return;
   396         return;
   383     }
   397     }
   384 
   398 
   414     setRandomSeed();
   428     setRandomSeed();
   415     switch(chooseMap->currentIndex())
   429     switch(chooseMap->currentIndex())
   416     {
   430     {
   417     case MAPGEN_REGULAR:
   431     case MAPGEN_REGULAR:
   418     case MAPGEN_MAZE:
   432     case MAPGEN_MAZE:
       
   433     case MAPGEN_DRAWN:
   419         setRandomTheme();
   434         setRandomTheme();
   420         break;
   435         break;
   421     default:
   436     default:
   422         if(chooseMap->currentIndex() < numMissions + 3)
   437         if(chooseMap->currentIndex() < numMissions + 4)
   423             setRandomMission();
   438             setRandomMission();
   424         else
   439         else
   425             setRandomStatic();
   440             setRandomStatic();
   426         break;
   441         break;
   427     }
   442     }