Fixed iteration over QList.

This commit is contained in:
Steru 2024-08-16 15:47:19 +02:00
parent b825a98d95
commit 4da25aac73

View file

@ -132,7 +132,8 @@ void Sport::lastName(QList<Competitor> &competitors) {
// validate competitors
if (competitors.isEmpty()) return;
for (Competitor comp : competitors) {
for (int i = 0; i < competitors.size(); i++) {
Competitor comp = competitors.value(i);
string fullName = comp.getName().toUtf8().constData();
// regex to identify names, written in CAPS
@ -204,7 +205,9 @@ QList<CompetitorWithResults> Sport::getCompetitorsByCategory(QString category) {
// add all competitors from one unit
for (const QJsonValueRef &compRef : unit["competitors"].toArray()) {
competitors.push_back(CompetitorWithResults(compRef.toObject()));
CompetitorWithResults comp = new CompetitorWithResults(); // TODO declare comp
comp.setCompetitorWithResults(compRef.toObject());
competitors.push_back(comp);
}
}
@ -274,7 +277,9 @@ QList<MedalWinner> Sport::getCompetitorsWithMedal() {
// convert map to QJsonArray
QList<MedalWinner> output;
for (const pair<QString, QJsonObject> &competitor : competitors) {
output.append(MedalWinner(competitor.second));
MedalWinner comp = new MedalWinner(); // TODO declare comp
comp.setMedalWinner(competitor.second);
output.append(comp);
}
return output;
@ -333,8 +338,8 @@ void Sport::filterByCountry(QList<Competitor> &competitors, QString nocShort) {
* @param filter The string, which should be contained.
*/
void Sport::filterCompetitors(QList<Competitor> &competitors, QString filter) {
for (qsizetype i = 0; i < competitors.size(); i++) {
if (competitors.value(i).getNOC().contains(filter)) {
for (int i = 0; i < competitors.size(); i++) {
if (!competitors.value(i).getNOC().contains(filter)) {
competitors.remove(i);
i--;
}