QTfrontend/hwform.cpp
changeset 11950 3792a9f9fa9c
parent 11948 6da9bb4b3449
child 11951 b05db9ca6e1c
equal deleted inserted replaced
11949:079d687671b2 11950:3792a9f9fa9c
   128 // I started handing this down to each place it touches, but it was getting ridiculous
   128 // I started handing this down to each place it touches, but it was getting ridiculous
   129 // and this one flag does not warrant a static class
   129 // and this one flag does not warrant a static class
   130 bool frontendEffects = true;
   130 bool frontendEffects = true;
   131 QString playerHash;
   131 QString playerHash;
   132 
   132 
       
   133 QIcon finishedIcon;
   133 GameUIConfig* HWForm::config = NULL;
   134 GameUIConfig* HWForm::config = NULL;
   134 
   135 
   135 HWForm::HWForm(QWidget *parent, QString styleSheet)
   136 HWForm::HWForm(QWidget *parent, QString styleSheet)
   136     : QMainWindow(parent)
   137     : QMainWindow(parent)
   137     , game(0)
   138     , game(0)
   165 
   166 
   166     config = new GameUIConfig(this, DataManager::instance().settingsFileName());
   167     config = new GameUIConfig(this, DataManager::instance().settingsFileName());
   167     frontendEffects = config->value("frontend/effects", true).toBool();
   168     frontendEffects = config->value("frontend/effects", true).toBool();
   168     playerHash = QString(QCryptographicHash::hash(config->value("net/nick",tr("Guest")+QString("%1").arg(rand())).toString().toUtf8(), QCryptographicHash::Md5).toHex());
   169     playerHash = QString(QCryptographicHash::hash(config->value("net/nick",tr("Guest")+QString("%1").arg(rand())).toString().toUtf8(), QCryptographicHash::Md5).toHex());
   169 
   170 
       
   171     finishedIcon.addFile(":/res/missionFinished.png", QSize(), QIcon::Normal, QIcon::On);
       
   172     finishedIcon.addFile(":/res/missionFinishedSelected.png", QSize(), QIcon::Selected, QIcon::On);
       
   173 
   170     ui.pageRoomsList->setSettings(config);
   174     ui.pageRoomsList->setSettings(config);
   171     ui.pageNetGame->setSettings(config);
   175     ui.pageNetGame->setSettings(config);
   172     ui.pageNetGame->chatWidget->setSettings(config);
   176     ui.pageNetGame->chatWidget->setSettings(config);
   173     ui.pageRoomsList->chatWidget->setSettings(config);
   177     ui.pageRoomsList->chatWidget->setSettings(config);
   174     ui.pageOptions->setConfig(config);
   178     ui.pageOptions->setConfig(config);
   206     previousCampaignName = "";
   210     previousCampaignName = "";
   207     previousTeamName = "";
   211     previousTeamName = "";
   208     UpdateTeamsLists();
   212     UpdateTeamsLists();
   209     InitCampaignPage();
   213     InitCampaignPage();
   210     UpdateCampaignPage(0);
   214     UpdateCampaignPage(0);
       
   215     UpdateCampaignPageTeam(0);
   211     UpdateCampaignPageMission(0);
   216     UpdateCampaignPageMission(0);
   212     UpdateWeapons();
   217     UpdateWeapons();
   213 
   218 
   214     // connect all goBack signals
   219     // connect all goBack signals
   215     int nPages = ui.Pages->count();
   220     int nPages = ui.Pages->count();
   316     connect(ui.pageTraining, SIGNAL(startMission(const QString&)), this, SLOT(startTraining(const QString&)));
   321     connect(ui.pageTraining, SIGNAL(startMission(const QString&)), this, SLOT(startTraining(const QString&)));
   317 
   322 
   318     connect(ui.pageCampaign->BtnStartCampaign, SIGNAL(clicked()), this, SLOT(StartCampaign()));
   323     connect(ui.pageCampaign->BtnStartCampaign, SIGNAL(clicked()), this, SLOT(StartCampaign()));
   319     connect(ui.pageCampaign->btnPreview, SIGNAL(clicked()), this, SLOT(StartCampaign()));
   324     connect(ui.pageCampaign->btnPreview, SIGNAL(clicked()), this, SLOT(StartCampaign()));
   320     connect(ui.pageCampaign->CBTeam, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateCampaignPage(int)));
   325     connect(ui.pageCampaign->CBTeam, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateCampaignPage(int)));
       
   326     connect(ui.pageCampaign->CBTeam, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateCampaignPageTeam(int)));
   321     connect(ui.pageCampaign->CBCampaign, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateCampaignPage(int)));
   327     connect(ui.pageCampaign->CBCampaign, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateCampaignPage(int)));
   322     connect(ui.pageCampaign->CBMission, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateCampaignPageMission(int)));
   328     connect(ui.pageCampaign->CBMission, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateCampaignPageMission(int)));
   323 
   329 
   324     connect(ui.pageSelectWeapon->BtnDelete, SIGNAL(clicked()),
   330     connect(ui.pageSelectWeapon->BtnDelete, SIGNAL(clicked()),
   325             ui.pageSelectWeapon->pWeapons, SLOT(deleteWeaponsName())); // executed first
   331             ui.pageSelectWeapon->pWeapons, SLOT(deleteWeaponsName())); // executed first
  1854                                   QStringList("[^\\.]*")
  1860                                   QStringList("[^\\.]*")
  1855                               );
  1861                               );
  1856 
  1862 
  1857     unsigned int n = entries.count();
  1863     unsigned int n = entries.count();
  1858 
  1864 
  1859     QIcon finishedIcon;
       
  1860     finishedIcon.addFile(":/res/missionFinished.png", QSize(), QIcon::Normal, QIcon::On);
       
  1861     finishedIcon.addFile(":/res/missionFinishedSelected.png", QSize(), QIcon::Selected, QIcon::On);
       
  1862     for(unsigned int i = 0; i < n; i++)
  1865     for(unsigned int i = 0; i < n; i++)
  1863     {
  1866     {
  1864         QString campaignNameUnderscores= QString(entries[i]).replace(QString(" "),QString("_"));
  1867         QString campaignName = QString(entries[i]).replace(QString("_"),QString(" "));
  1865         QString campaignNameSpaces = QString(entries[i]).replace(QString("_"),QString(" "));
       
  1866         QString tName = team.name();
  1868         QString tName = team.name();
  1867         ui.pageCampaign->CBCampaign->addItem(campaignNameSpaces, campaignNameSpaces);
  1869         ui.pageCampaign->CBCampaign->addItem(campaignName, campaignName);
  1868         if(isCampWon(campaignNameUnderscores, tName))
       
  1869             ui.pageCampaign->CBCampaign->setItemIcon(i, finishedIcon);
       
  1870     }
  1870     }
  1871 }
  1871 }
  1872 
  1872 
  1873 void HWForm::UpdateCampaignPage(int index)
  1873 void HWForm::UpdateCampaignPage(int index)
  1874 {
  1874 {
  1881     ui.pageCampaign->CBMission->clear();
  1881     ui.pageCampaign->CBMission->clear();
  1882 
  1882 
  1883     for(int i=0;i<campaignMissionInfo.size();i++)
  1883     for(int i=0;i<campaignMissionInfo.size();i++)
  1884     {
  1884     {
  1885         ui.pageCampaign->CBMission->addItem(QString(campaignMissionInfo[i].name), QString(campaignMissionInfo[i].name));
  1885         ui.pageCampaign->CBMission->addItem(QString(campaignMissionInfo[i].name), QString(campaignMissionInfo[i].name));
       
  1886     }
       
  1887 }
       
  1888 
       
  1889 void HWForm::UpdateCampaignPageTeam(int index)
       
  1890 {
       
  1891     Q_UNUSED(index);
       
  1892     HWTeam team(ui.pageCampaign->CBTeam->currentText());
       
  1893     QString tName = team.name();
       
  1894 
       
  1895     QStringList entries = DataManager::instance().entryList(
       
  1896                                   "Missions/Campaign",
       
  1897                                   QDir::Dirs,
       
  1898                                   QStringList("[^\\.]*")
       
  1899                               );
       
  1900 
       
  1901     unsigned int n = entries.count();
       
  1902 
       
  1903     for(unsigned int i = 0; i < n; i++)
       
  1904     {
       
  1905         QString campaignName = QString(entries[i]).replace(QString(" "),QString("_"));
       
  1906         if(isCampWon(campaignName, tName))
       
  1907             ui.pageCampaign->CBCampaign->setItemIcon(i, finishedIcon);
       
  1908         else
       
  1909             ui.pageCampaign->CBCampaign->setItemIcon(i, QIcon());
  1886     }
  1910     }
  1887 }
  1911 }
  1888 
  1912 
  1889 void HWForm::UpdateCampaignPageMission(int index)
  1913 void HWForm::UpdateCampaignPageMission(int index)
  1890 {
  1914 {