Fixed iteration over QList.

This commit is contained in:
Steru 2024-08-16 15:47:19 +02:00
parent 3918de89ce
commit c6463514b9

View file

@ -131,7 +131,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
@ -203,7 +204,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);
}
}
@ -273,7 +276,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;
@ -332,8 +337,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--;
}