From 514e81406df9aa5fd024929ebb4edee4dba3e706 Mon Sep 17 00:00:00 2001 From: godric3 Date: Tue, 17 Sep 2024 20:57:05 +0200 Subject: [PATCH] extract PlayerColor to QString conversion to helper function --- mapeditor/inspector/towneventdialog.cpp | 5 +++-- mapeditor/mapsettings/eventsettings.cpp | 7 ++++++- mapeditor/mapsettings/eventsettings.h | 1 + mapeditor/mapsettings/timedevent.cpp | 5 +++-- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/mapeditor/inspector/towneventdialog.cpp b/mapeditor/inspector/towneventdialog.cpp index b500bc8a9..e56af191e 100644 --- a/mapeditor/inspector/towneventdialog.cpp +++ b/mapeditor/inspector/towneventdialog.cpp @@ -13,6 +13,7 @@ #include "towneventdialog.h" #include "ui_towneventdialog.h" #include "mapeditorroles.h" +#include "../mapsettings/eventsettings.h" #include "../../lib/entities/building/CBuilding.h" #include "../../lib/entities/faction/CTownHandler.h" #include "../../lib/constants/NumericConstants.h" @@ -66,7 +67,7 @@ void TownEventDialog::initPlayers() auto playerList = params.value("players").toList(); for (int i = 0; i < PlayerColor::PLAYER_LIMIT_I; ++i) { - bool isAffected = playerList.contains(QString::fromStdString(PlayerColor(i).toString())); + bool isAffected = playerList.contains(toQString(PlayerColor(i))); auto * item = new QListWidgetItem(QString::fromStdString(GameConstants::PLAYER_COLOR_NAMES[i])); item->setData(MapEditorRoles::PlayerIDRole, QVariant::fromValue(i)); item->setCheckState(isAffected ? Qt::Checked : Qt::Unchecked); @@ -219,7 +220,7 @@ QVariant TownEventDialog::playersToVariant() { auto * item = ui->playersAffected->item(i); if (item->checkState() == Qt::Checked) - players.push_back(QString::fromStdString(PlayerColor(i).toString())); + players.push_back(toQString(PlayerColor(i))); } return QVariant::fromValue(players); } diff --git a/mapeditor/mapsettings/eventsettings.cpp b/mapeditor/mapsettings/eventsettings.cpp index 7f127e45f..f7c2bbc76 100644 --- a/mapeditor/mapsettings/eventsettings.cpp +++ b/mapeditor/mapsettings/eventsettings.cpp @@ -16,11 +16,16 @@ #include "../../lib/constants/NumericConstants.h" #include "../../lib/constants/StringConstants.h" +QString toQString(const PlayerColor & player) +{ + return QString::fromStdString(player.toString()); +} + QVariant toVariant(const std::set & players) { QVariantList result; for(auto const id : players) - result.push_back(QString::fromStdString(id.toString())); + result.push_back(toQString(id)); return result; } diff --git a/mapeditor/mapsettings/eventsettings.h b/mapeditor/mapsettings/eventsettings.h index 2d1cee00c..c7be81f06 100644 --- a/mapeditor/mapsettings/eventsettings.h +++ b/mapeditor/mapsettings/eventsettings.h @@ -15,6 +15,7 @@ namespace Ui { class EventSettings; } +QString toQString(const PlayerColor & player); QVariant toVariant(const TResources & resources); QVariant toVariant(const std::set & players); diff --git a/mapeditor/mapsettings/timedevent.cpp b/mapeditor/mapsettings/timedevent.cpp index b6d55c97e..083bd1d72 100644 --- a/mapeditor/mapsettings/timedevent.cpp +++ b/mapeditor/mapsettings/timedevent.cpp @@ -10,6 +10,7 @@ #include "StdInc.h" #include "timedevent.h" #include "ui_timedevent.h" +#include "eventsettings.h" #include "../../lib/constants/EntityIdentifiers.h" #include "../../lib/constants/StringConstants.h" @@ -33,7 +34,7 @@ TimedEvent::TimedEvent(QListWidgetItem * t, QWidget *parent) : auto playerList = params.value("players").toList(); for(int i = 0; i < PlayerColor::PLAYER_LIMIT_I; ++i) { - bool isAffected = playerList.contains(QString::fromStdString(PlayerColor(i).toString())); + bool isAffected = playerList.contains(toQString(PlayerColor(i))); auto * item = new QListWidgetItem(QString::fromStdString(GameConstants::PLAYER_COLOR_NAMES[i])); item->setData(Qt::UserRole, QVariant::fromValue(i)); item->setCheckState(isAffected ? Qt::Checked : Qt::Unchecked); @@ -75,7 +76,7 @@ void TimedEvent::on_TimedEvent_finished(int result) { auto * item = ui->playersAffected->item(i); if(item->checkState() == Qt::Checked) - players.push_back(QString::fromStdString(PlayerColor(i).toString())); + players.push_back(toQString(PlayerColor(i))); } descriptor["players"] = QVariant::fromValue(players);