QTfrontend/ui/widget/mapContainer.cpp
changeset 11744 ac58a063d26a
parent 10959 1225f42f61e2
child 11753 5c192a4751d8
equal deleted inserted replaced
11743:eefa04b23c3b 11744:ac58a063d26a
   107     cType->insertItem(1, tr("Mission map"), MapModel::MissionMap);
   107     cType->insertItem(1, tr("Mission map"), MapModel::MissionMap);
   108     cType->insertItem(2, tr("Hand-drawn"), MapModel::HandDrawnMap);
   108     cType->insertItem(2, tr("Hand-drawn"), MapModel::HandDrawnMap);
   109     cType->insertItem(3, tr("Randomly generated"), MapModel::GeneratedMap);
   109     cType->insertItem(3, tr("Randomly generated"), MapModel::GeneratedMap);
   110     cType->insertItem(4, tr("Random maze"), MapModel::GeneratedMaze);
   110     cType->insertItem(4, tr("Random maze"), MapModel::GeneratedMaze);
   111     cType->insertItem(5, tr("Random perlin"), MapModel::GeneratedPerlin);
   111     cType->insertItem(5, tr("Random perlin"), MapModel::GeneratedPerlin);
       
   112     cType->insertItem(6, tr("Forts"), MapModel::FortsMap);
   112     connect(cType, SIGNAL(currentIndexChanged(int)), this, SLOT(mapTypeChanged(int)));
   113     connect(cType, SIGNAL(currentIndexChanged(int)), this, SLOT(mapTypeChanged(int)));
   113     m_childWidgets << cType;
   114     m_childWidgets << cType;
   114 
   115 
   115     /* Randomize button */
   116     /* Randomize button */
   116 
   117 
   459     }
   460     }
   460     else if (map == "+drawn+")
   461     else if (map == "+drawn+")
   461     {
   462     {
   462         //changeMapType(MapModel::HandDrawnMap);
   463         //changeMapType(MapModel::HandDrawnMap);
   463     }
   464     }
       
   465     else if (map == "+forts+")
       
   466     {
       
   467         //nuffin
       
   468     }
   464     else if (m_staticMapModel->mapExists(map))
   469     else if (m_staticMapModel->mapExists(map))
   465     {
   470     {
   466         changeMapType(MapModel::StaticMap, m_staticMapModel->index(m_staticMapModel->findMap(map), 0));
   471         changeMapType(MapModel::StaticMap, m_staticMapModel->index(m_staticMapModel->findMap(map), 0));
   467     }
   472     }
   468     else if (m_missionMapModel->mapExists(map))
   473     else if (m_missionMapModel->mapExists(map))
   498     switch(m_mapInfo.type)
   503     switch(m_mapInfo.type)
   499     {
   504     {
   500         case MapModel::GeneratedMap:
   505         case MapModel::GeneratedMap:
   501         case MapModel::GeneratedMaze:
   506         case MapModel::GeneratedMaze:
   502         case MapModel::GeneratedPerlin:
   507         case MapModel::GeneratedPerlin:
       
   508         case MapModel::FortsMap:
   503             setRandomTheme();
   509             setRandomTheme();
   504             break;
   510             break;
   505         case MapModel::MissionMap:
   511         case MapModel::MissionMap:
   506             missionMapChanged(m_missionMapModel->index(rand() % m_missionMapModel->rowCount(), 0));
   512             missionMapChanged(m_missionMapModel->index(rand() % m_missionMapModel->rowCount(), 0));
   507             break;
   513             break;
   586                 break;
   592                 break;
   587             case MAPGEN_DRAWN:
   593             case MAPGEN_DRAWN:
   588                 m_mapInfo.type = MapModel::HandDrawnMap;
   594                 m_mapInfo.type = MapModel::HandDrawnMap;
   589                 f = true;
   595                 f = true;
   590                 break;
   596                 break;
       
   597             case MAPGEN_FORTS:
       
   598                 m_mapInfo.type = MapModel::FortsMap;
       
   599                 f = true;
       
   600                 break;
   591             case MAPGEN_MAP:
   601             case MAPGEN_MAP:
   592                 switch (m_mapInfo.type)
   602                 switch (m_mapInfo.type)
   593                 {
   603                 {
   594                     case MapModel::GeneratedMap:
   604                     case MapModel::GeneratedMap:
   595                     case MapModel::GeneratedMaze:
   605                     case MapModel::GeneratedMaze:
   596                     case MapModel::GeneratedPerlin:
   606                     case MapModel::GeneratedPerlin:
   597                     case MapModel::HandDrawnMap:
   607                     case MapModel::HandDrawnMap:
       
   608                     case MapModel::FortsMap:
   598                         m_mapInfo.type = MapModel::Invalid;
   609                         m_mapInfo.type = MapModel::Invalid;
   599                     default:
   610                     default:
   600                         break;
   611                         break;
   601                 }
   612                 }
   602                 break;
   613                 break;
   677             break;
   688             break;
   678         case MapModel::GeneratedMap:
   689         case MapModel::GeneratedMap:
   679         case MapModel::GeneratedMaze:
   690         case MapModel::GeneratedMaze:
   680         case MapModel::GeneratedPerlin:
   691         case MapModel::GeneratedPerlin:
   681         case MapModel::HandDrawnMap:
   692         case MapModel::HandDrawnMap:
       
   693         case MapModel::FortsMap:
   682             askForGeneratedPreview();
   694             askForGeneratedPreview();
   683             break;
   695             break;
   684         default:
   696         default:
   685             QPixmap mapImage;
   697             QPixmap mapImage;
   686             bool success = mapImage.load("physfs://Maps/" + m_mapInfo.name + "/preview.png");
   698             bool success = mapImage.load("physfs://Maps/" + m_mapInfo.name + "/preview.png");
   802             lblMapList->show();
   814             lblMapList->show();
   803             mapFeatureSize->hide();
   815             mapFeatureSize->hide();
   804             staticMapList->show();
   816             staticMapList->show();
   805             emit mapChanged(m_curMap);
   817             emit mapChanged(m_curMap);
   806             break;
   818             break;
       
   819         case MapModel::FortsMap:
       
   820             mapgen = MAPGEN_FORTS;
       
   821             setMapInfo(MapModel::MapInfoForts);
       
   822             lblMapList->hide();
       
   823             break;
   807         default:
   824         default:
   808             break;
   825             break;
   809     }
   826     }
   810 
   827 
   811     // Update theme button size
   828     // Update theme button size