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(m_name), QSettings::IniFormat, 0); |
174 QSettings teamfile(QString("physfs://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(); |
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(m_name)); |
207 QFile f(QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(m_name))); |
208 return f.exists(); |
208 return f.exists(); |
209 } |
209 } |
210 |
210 |
211 bool HWTeam::deleteFile() |
211 bool HWTeam::deleteFile() |
212 { |
212 { |
213 if(m_isNetTeam) |
213 if(m_isNetTeam) |
214 return false; |
214 return false; |
215 QFile cfgfile(QString("physfs://Teams/%1.hwt").arg(m_name)); |
215 QFile cfgfile(QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(m_name))); |
216 cfgfile.remove(); |
216 cfgfile.remove(); |
217 return true; |
217 return true; |
218 } |
218 } |
219 |
219 |
220 bool HWTeam::saveToFile() |
220 bool HWTeam::saveToFile() |
221 { |
221 { |
222 if (OldTeamName != m_name) |
222 if (OldTeamName != m_name) |
223 { |
223 { |
224 QFile cfgfile(QString("physfs://Teams/%1.hwt").arg(OldTeamName)); |
224 QFile cfgfile(QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(OldTeamName))); |
225 cfgfile.remove(); |
225 cfgfile.remove(); |
226 OldTeamName = m_name; |
226 OldTeamName = m_name; |
227 } |
227 } |
228 |
228 |
229 QString fileName = QString("physfs://Teams/%1.hwt").arg(m_name); |
229 QString fileName = QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(m_name)); |
230 DataManager::ensureFileExists(fileName); |
230 DataManager::ensureFileExists(fileName); |
231 QSettings teamfile(fileName, QSettings::IniFormat, 0); |
231 QSettings teamfile(fileName, QSettings::IniFormat, 0); |
232 teamfile.setIniCodec("UTF-8"); |
232 teamfile.setIniCodec("UTF-8"); |
233 teamfile.setValue("Team/Name", m_name); |
233 teamfile.setValue("Team/Name", m_name); |
234 teamfile.setValue("Team/Grave", m_grave); |
234 teamfile.setValue("Team/Grave", m_grave); |