QTfrontend/team.cpp
branchios-develop
changeset 13413 ba39a1d396c0
parent 13284 b504131f7405
child 13708 3264a26bbf8b
equal deleted inserted replaced
13411:6e8b807bda4b 13413:ba39a1d396c0
    39     m_name = teamname;
    39     m_name = teamname;
    40     OldTeamName = m_name;
    40     OldTeamName = m_name;
    41     for (int i = 0; i < HEDGEHOGS_PER_TEAM; i++)
    41     for (int i = 0; i < HEDGEHOGS_PER_TEAM; i++)
    42     {
    42     {
    43         m_hedgehogs.append(HWHog());
    43         m_hedgehogs.append(HWHog());
    44         m_hedgehogs[i].Name = (QLineEdit::tr("hedgehog %1").arg(i+1));
    44         m_hedgehogs[i].Name = (QLineEdit::tr("Hedgehog %1").arg(i+1));
    45         m_hedgehogs[i].Hat = "NoHat";
    45         m_hedgehogs[i].Hat = "NoHat";
    46     }
    46     }
    47     m_grave = "Statue";
    47     m_grave = "Statue";
    48     m_fort = "Plane";
    48     m_fort = "Plane";
    49     m_voicepack = "Default";
    49     m_voicepack = "Default";
   169     return *this;
   169     return *this;
   170 }
   170 }
   171 
   171 
   172 bool HWTeam::loadFromFile()
   172 bool HWTeam::loadFromFile()
   173 {
   173 {
   174     QSettings teamfile(QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(m_name)), QSettings::IniFormat, 0);
   174     QSettings teamfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(DataManager::safeFileName(m_name)), QSettings::IniFormat, 0);
   175     teamfile.setIniCodec("UTF-8");
   175     teamfile.setIniCodec("UTF-8");
   176     m_name = teamfile.value("Team/Name", m_name).toString();
   176     m_name = teamfile.value("Team/Name", m_name).toString();
   177     m_grave = teamfile.value("Team/Grave", "Statue").toString();
   177     m_grave = teamfile.value("Team/Grave", "Statue").toString();
   178     m_fort = teamfile.value("Team/Fort", "Plane").toString();
   178     m_fort = teamfile.value("Team/Fort", "Plane").toString();
   179     m_voicepack = teamfile.value("Team/Voicepack", "Default").toString();
   179     m_voicepack = teamfile.value("Team/Voicepack", "Default").toString();
   183     m_wins = teamfile.value("Team/Wins", 0).toInt();
   183     m_wins = teamfile.value("Team/Wins", 0).toInt();
   184     m_campaignProgress = teamfile.value("Team/CampaignProgress", 0).toInt();
   184     m_campaignProgress = teamfile.value("Team/CampaignProgress", 0).toInt();
   185     for(int i = 0; i < HEDGEHOGS_PER_TEAM; i++)
   185     for(int i = 0; i < HEDGEHOGS_PER_TEAM; i++)
   186     {
   186     {
   187         QString hh = QString("Hedgehog%1/").arg(i);
   187         QString hh = QString("Hedgehog%1/").arg(i);
   188         m_hedgehogs[i].Name = teamfile.value(hh + "Name", QString("hedgehog %1").arg(i+1)).toString();
   188         m_hedgehogs[i].Name = teamfile.value(hh + "Name", QString("Hedgehog %1").arg(i+1)).toString();
   189         m_hedgehogs[i].Hat = teamfile.value(hh + "Hat", "NoHat").toString();
   189         m_hedgehogs[i].Hat = teamfile.value(hh + "Hat", "NoHat").toString();
   190         m_hedgehogs[i].Rounds = teamfile.value(hh + "Rounds", 0).toInt();
   190         m_hedgehogs[i].Rounds = teamfile.value(hh + "Rounds", 0).toInt();
   191         m_hedgehogs[i].Kills = teamfile.value(hh + "Kills", 0).toInt();
   191         m_hedgehogs[i].Kills = teamfile.value(hh + "Kills", 0).toInt();
   192         m_hedgehogs[i].Deaths = teamfile.value(hh + "Deaths", 0).toInt();
   192         m_hedgehogs[i].Deaths = teamfile.value(hh + "Deaths", 0).toInt();
   193         m_hedgehogs[i].Suicides = teamfile.value(hh + "Suicides", 0).toInt();
   193         m_hedgehogs[i].Suicides = teamfile.value(hh + "Suicides", 0).toInt();
   202     return true;
   202     return true;
   203 }
   203 }
   204 
   204 
   205 bool HWTeam::fileExists()
   205 bool HWTeam::fileExists()
   206 {
   206 {
   207     QFile f(QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(m_name)));
   207     QFile f(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(DataManager::safeFileName(m_name)));
   208     return f.exists();
   208     return f.exists();
   209 }
   209 }
   210 
   210 
   211 // Returns true if the team name has been changed but a file with the same team name already exists.
   211 // Returns true if the team name has been changed but a file with the same team name already exists.
   212 // So if this team would be saved, another team file would be overwritten, which is generally not
   212 // So if this team would be saved, another team file would be overwritten, which is generally not
   218 
   218 
   219 bool HWTeam::deleteFile()
   219 bool HWTeam::deleteFile()
   220 {
   220 {
   221     if(m_isNetTeam)
   221     if(m_isNetTeam)
   222         return false;
   222         return false;
   223     QFile cfgfile(QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(m_name)));
   223     QFile cfgfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(DataManager::safeFileName(m_name)));
   224     cfgfile.remove();
   224     cfgfile.remove();
   225     return true;
   225     return true;
   226 }
   226 }
   227 
   227 
   228 bool HWTeam::saveToFile()
   228 bool HWTeam::saveToFile()
   229 {
   229 {
   230     if (OldTeamName != m_name)
   230     if (OldTeamName != m_name)
   231     {
   231     {
   232         QFile cfgfile(QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(OldTeamName)));
   232         QFile cfgfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(DataManager::safeFileName(OldTeamName)));
   233         cfgfile.remove();
   233         cfgfile.remove();
   234         OldTeamName = m_name;
   234         OldTeamName = m_name;
   235     }
   235     }
   236 
   236 
   237     QString fileName = QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(m_name));
   237     QString fileName = QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(DataManager::safeFileName(m_name));
   238     DataManager::ensureFileExists(fileName);
   238     DataManager::ensureFileExists(fileName);
   239     QSettings teamfile(fileName, QSettings::IniFormat, 0);
   239     QSettings teamfile(fileName, QSettings::IniFormat, 0);
   240     teamfile.setIniCodec("UTF-8");
   240     teamfile.setIniCodec("UTF-8");
   241     teamfile.setValue("Team/Name", m_name);
   241     teamfile.setValue("Team/Name", m_name);
   242     teamfile.setValue("Team/Grave", m_grave);
   242     teamfile.setValue("Team/Grave", m_grave);