Browse Source

map editor: improve building inspector texts

godric3 9 months ago
parent
commit
494777987d

+ 6 - 7
mapeditor/inspector/armywidget.cpp

@@ -152,16 +152,15 @@ void ArmyDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, cons
 void ArmyDelegate::updateModelData(QAbstractItemModel * model, const QModelIndex & index) const
 {
 	QStringList textList;
-	for(auto i = army.stacks.begin(); i != army.stacks.end(); i++)
+	for(const auto & [_, stack] : army.stacks)
 	{
-		auto stack = i->second;
 		if(stack->count != 0 && stack->getCreature() != nullptr)
-			textList += QString::number(stack->count) + " " + QString::fromStdString(stack->getCreature()->getNamePluralTranslated());
+			textList += QString("%1 %2").arg(stack->count).arg(QString::fromStdString(stack->getCreature()->getNamePluralTranslated()));
 	}
 
 	QString text = textList.join("\n");
-	QMap<int, QVariant> data;
-	data[Qt::DisplayRole] = QVariant(text);
-	data[Qt::ToolTipRole] = QVariant(text);
-	model->setItemData(index, data);
+	model->setItemData(index, {
+		{Qt::DisplayRole, QVariant{text}},
+		{Qt::ToolTipRole, QVariant{text}}
+	});
 }

+ 6 - 6
mapeditor/inspector/heroartifactswidget.cpp

@@ -150,16 +150,16 @@ void HeroArtifactsDelegate::updateModelData(QAbstractItemModel * model, const QM
 	for(const auto & [artPosition, artSlotInfo] : hero.artifactsWorn)
 	{
 		auto slotText = NArtifactPosition::namesHero[artPosition.num];
-		textList += QString::fromStdString(slotText) + ": " + QString::fromStdString(artSlotInfo.artifact->getType()->getNameTranslated());
+		textList += QString("%1: %2").arg(QString::fromStdString(slotText)).arg(QString::fromStdString(artSlotInfo.artifact->getType()->getNameTranslated()));
 	}
-	textList += QString::fromStdString(NArtifactPosition::backpack) + ":";
+	textList += QString("%1:").arg(QString::fromStdString(NArtifactPosition::backpack));
 	for(const auto & art : hero.artifactsInBackpack)
 	{
 		textList += QString::fromStdString(art.artifact->getType()->getNameTranslated());
 	}
 	QString text = textList.join("\n");
-	QMap<int, QVariant> data;
-	data[Qt::DisplayRole] = QVariant(text);
-	data[Qt::ToolTipRole] = QVariant(text);
-	model->setItemData(index, data);
+	model->setItemData(index, {
+		{Qt::DisplayRole, QVariant{text}},
+		{Qt::ToolTipRole, QVariant{text}}
+	});
 }

+ 9 - 9
mapeditor/inspector/heroskillswidget.cpp

@@ -153,10 +153,10 @@ void HeroSkillsDelegate::setModelData(QWidget *editor, QAbstractItemModel *model
 void HeroSkillsDelegate::updateModelData(QAbstractItemModel * model, const QModelIndex & index) const
 {
 	QStringList textList;
-	textList += QString::fromStdString(VLC->generaltexth->primarySkillNames[PrimarySkill::ATTACK]) + ": " + QString::number(hero.getBasePrimarySkillValue(PrimarySkill::ATTACK));
-	textList += QString::fromStdString(VLC->generaltexth->primarySkillNames[PrimarySkill::DEFENSE]) + ": " + QString::number(hero.getBasePrimarySkillValue(PrimarySkill::DEFENSE));
-	textList += QString::fromStdString(VLC->generaltexth->primarySkillNames[PrimarySkill::SPELL_POWER]) + ": " + QString::number(hero.getBasePrimarySkillValue(PrimarySkill::SPELL_POWER));
-	textList += QString::fromStdString(VLC->generaltexth->primarySkillNames[PrimarySkill::KNOWLEDGE]) + ": " + QString::number(hero.getBasePrimarySkillValue(PrimarySkill::KNOWLEDGE));
+	textList += QString("%1: %2").arg(QString::fromStdString(VLC->generaltexth->primarySkillNames[PrimarySkill::ATTACK])).arg(hero.getBasePrimarySkillValue(PrimarySkill::ATTACK));
+	textList += QString("%1: %2").arg(QString::fromStdString(VLC->generaltexth->primarySkillNames[PrimarySkill::DEFENSE])).arg(hero.getBasePrimarySkillValue(PrimarySkill::DEFENSE));
+	textList += QString("%1: %2").arg(QString::fromStdString(VLC->generaltexth->primarySkillNames[PrimarySkill::SPELL_POWER])).arg(hero.getBasePrimarySkillValue(PrimarySkill::SPELL_POWER));
+	textList += QString("%1: %2").arg(QString::fromStdString(VLC->generaltexth->primarySkillNames[PrimarySkill::KNOWLEDGE])).arg(hero.getBasePrimarySkillValue(PrimarySkill::KNOWLEDGE));
 ;
 	auto heroSecondarySkills = hero.secSkills;
 	if(heroSecondarySkills.size() == 1 && heroSecondarySkills[0].first == SecondarySkill::NONE) 
@@ -169,11 +169,11 @@ void HeroSkillsDelegate::updateModelData(QAbstractItemModel * model, const QMode
 		textList += QObject::tr("Secondary skills:");
 	}
 	for(auto & [skill, skillLevel] : heroSecondarySkills)
-		textList += QString::fromStdString(VLC->skillh->getById(skill)->getNameTranslated()) + " " + LevelIdentifiers[skillLevel - 1].first;
+		textList += QString("%1 %2").arg(QString::fromStdString(VLC->skillh->getById(skill)->getNameTranslated())).arg(LevelIdentifiers[skillLevel - 1].first);
 
 	QString text = textList.join("\n");
-	QMap<int, QVariant> data;
-	data[Qt::DisplayRole] = QVariant(text);
-	data[Qt::ToolTipRole] = QVariant(text);
-	model->setItemData(index, data);
+	model->setItemData(index, {
+		{Qt::DisplayRole, QVariant{text}},
+		{Qt::ToolTipRole, QVariant{text}}
+	});
 }

+ 2 - 4
mapeditor/inspector/herospellwidget.cpp

@@ -148,13 +148,11 @@ void HeroSpellDelegate::updateModelData(QAbstractItemModel * model, const QModel
 				textList += QString::fromStdString(spellID.toSpell()->getNameTranslated());
 		}
 		QString text = textList.join("\n");
-		data[Qt::DisplayRole] = QVariant(text);
-		data[Qt::ToolTipRole] = QVariant(text);
+		data[Qt::DisplayRole] = data[Qt::ToolTipRole] = QVariant(text);
 	}
 	else
 	{
-		data[Qt::DisplayRole] = QObject::tr("Default Spells");
-		data[Qt::ToolTipRole] = QObject::tr("Default Spells");
+		data[Qt::DisplayRole] = data[Qt::ToolTipRole] = QObject::tr("Default Spells");
 	}
 	model->setItemData(index, data);
 }

+ 15 - 15
mapeditor/inspector/questwidget.cpp

@@ -462,51 +462,51 @@ void QuestDelegate::updateModelData(QAbstractItemModel * model, const QModelInde
 			continue;
 		MetaString str;
 		str.appendName(resource);
-		resourcesList += QString::fromStdString(str.toString()) + ": " + QString::number(quest.mission.resources[resource]);
+		resourcesList += QString("%1: %2").arg(QString::fromStdString(str.toString())).arg(quest.mission.resources[resource]);
 	}
-	textList += QObject::tr("Resources: ") + resourcesList.join(", ");
+	textList += QObject::tr("Resources: %1").arg(resourcesList.join(", "));
 
 	QStringList artifactsList;
 	for(auto artifact : quest.mission.artifacts)
 	{
 		artifactsList += QString::fromStdString(VLC->artifacts()->getById(artifact)->getNameTranslated());
 	}
-	textList += QObject::tr("Artifacts: ") + artifactsList.join(", ");
+	textList += QObject::tr("Artifacts: %1").arg(artifactsList.join(", "));
 
 	QStringList spellsList;
 	for(auto spell : quest.mission.spells)
 	{
 		spellsList += QString::fromStdString(VLC->spells()->getById(spell)->getNameTranslated());
 	}
-	textList += QObject::tr("Spells: ") + spellsList.join(", ");
+	textList += QObject::tr("Spells: %1").arg(spellsList.join(", "));
 
 	QStringList secondarySkillsList;
 	for(auto & [skill, skillLevel] : quest.mission.secondary)
 	{
-		secondarySkillsList += QString::fromStdString(VLC->skills()->getById(skill)->getNameTranslated()) + " (" + QString::number(skillLevel) + ")";
+		secondarySkillsList += QString("%1 (%2)").arg(QString::fromStdString(VLC->skills()->getById(skill)->getNameTranslated())).arg(skillLevel);
 	}
-	textList += QObject::tr("Secondary Skills: ") + secondarySkillsList.join(", ");
+	textList += QObject::tr("Secondary Skills: %1").arg(secondarySkillsList.join(", "));
 
 	QStringList creaturesList;
 	for(auto & creature : quest.mission.creatures)
 	{
-		creaturesList += QString::number(creature.count) + " " + QString::fromStdString(creature.getType()->getNamePluralTranslated());
+		creaturesList += QString("%1 %2").arg(creature.count).arg(QString::fromStdString(creature.getType()->getNamePluralTranslated()));
 	}
-	textList += QObject::tr("Creatures: ") + creaturesList.join(", ");
+	textList += QObject::tr("Creatures: %1").arg(creaturesList.join(", "));
 
 	QStringList heroesList;
 	for(auto & hero : quest.mission.heroes)
 	{
 		heroesList += QString::fromStdString(VLC->heroTypes()->getById(hero)->getNameTranslated());
 	}
-	textList += QObject::tr("Heroes: ") + heroesList.join(", ");
+	textList += QObject::tr("Heroes: %1").arg(heroesList.join(", "));
 
 	QStringList heroClassesList;
 	for(auto & heroClass : quest.mission.heroClasses)
 	{
 		heroClassesList += QString::fromStdString(VLC->heroClasses()->getById(heroClass)->getNameTranslated());
 	}
-	textList += QObject::tr("Hero Classes: ") + heroClassesList.join(", ");
+	textList += QObject::tr("Hero Classes: %1").arg(heroClassesList.join(", "));
 
 	QStringList playersList;
 	for(auto & player : quest.mission.players)
@@ -515,11 +515,11 @@ void QuestDelegate::updateModelData(QAbstractItemModel * model, const QModelInde
 		str.appendName(player);
 		playersList += QString::fromStdString(str.toString());
 	}
-	textList += QObject::tr("Players: ") + playersList.join(", ");
+	textList += QObject::tr("Players: %1").arg(playersList.join(", "));
 
 	QString text = textList.join("\n");
-	QMap<int, QVariant> data;
-	data[Qt::DisplayRole] = QVariant(text);
-	data[Qt::ToolTipRole] = QVariant(text);
-	model->setItemData(index, data);
+	model->setItemData(index, {
+		{Qt::DisplayRole, QVariant{text}},
+		{Qt::ToolTipRole, QVariant{text}}
+	});
 }

+ 15 - 15
mapeditor/inspector/rewardswidget.cpp

@@ -782,47 +782,47 @@ void RewardsDelegate::updateModelData(QAbstractItemModel * model, const QModelIn
 				continue;
 			MetaString str;
 			str.appendName(resource);
-			resourcesList += QString::fromStdString(str.toString()) + ": " + QString::number(vinfo.reward.resources[resource]);
+			resourcesList += QString("%1: %2").arg(QString::fromStdString(str.toString())).arg(vinfo.reward.resources[resource]);
 		}
-		textList += QObject::tr("Resources: ") + resourcesList.join(", ");
+		textList += QObject::tr("Resources: %1").arg(resourcesList.join(", "));
 		QStringList artifactsList;
 		for (auto artifact : vinfo.reward.artifacts)
 		{
 			artifactsList += QString::fromStdString(VLC->artifacts()->getById(artifact)->getNameTranslated());
 		}
-		textList += QObject::tr("Artifacts: ") + artifactsList.join(", ");
+		textList += QObject::tr("Artifacts: %1").arg(artifactsList.join(", "));
 		QStringList spellsList;
 		for (auto spell : vinfo.reward.spells)
 		{
 			spellsList += QString::fromStdString(VLC->spells()->getById(spell)->getNameTranslated());
 		}
-		textList += QObject::tr("Spells: ") + spellsList.join(", ");
+		textList += QObject::tr("Spells: %1").arg(spellsList.join(", "));
 		QStringList secondarySkillsList;
 		for(auto & [skill, skillLevel] : vinfo.reward.secondary)
 		{
-			secondarySkillsList += QString::fromStdString(VLC->skills()->getById(skill)->getNameTranslated()) + " (" + QString::number(skillLevel) + ")";
+			secondarySkillsList += QString("%1 (%2)").arg(QString::fromStdString(VLC->skills()->getById(skill)->getNameTranslated())).arg(skillLevel);
 		}
-		textList += QObject::tr("Secondary Skills: ") + secondarySkillsList.join(", ");
+		textList += QObject::tr("Secondary Skills: %1").arg(secondarySkillsList.join(", "));
 		QStringList creaturesList;
 		for (auto & creature : vinfo.reward.creatures)
 		{
-			creaturesList += QString::number(creature.count) + " " + QString::fromStdString(creature.getType()->getNamePluralTranslated());
+			creaturesList += QString("%1 %2").arg(creature.count).arg(QString::fromStdString(creature.getType()->getNamePluralTranslated()));
 		}
-		textList += QObject::tr("Creatures: ") + creaturesList.join(", ");
+		textList += QObject::tr("Creatures: %1").arg(creaturesList.join(", "));
 		if (vinfo.reward.spellCast.first != SpellID::NONE)
 		{
-			textList += QObject::tr("Spell Cast: ") + QString::fromStdString(VLC->spells()->getById(vinfo.reward.spellCast.first)->getNameTranslated()) + " (" + QString::number(vinfo.reward.spellCast.second) + ")";
+			textList += QObject::tr("Spell Cast: %1 (%2)").arg(QString::fromStdString(VLC->spells()->getById(vinfo.reward.spellCast.first)->getNameTranslated())).arg(vinfo.reward.spellCast.second);
 		}
 		QStringList bonusesList;
 		for (auto & bonus : vinfo.reward.bonuses)
 		{
-			bonusesList += QString::fromStdString(vstd::findKey(bonusDurationMap, bonus.duration)) + " " + QString::fromStdString(vstd::findKey(bonusNameMap, bonus.type)) + " (" + QString::number(bonus.val) + ")";
+			bonusesList += QString("%1 %2 (%3)").arg(QString::fromStdString(vstd::findKey(bonusDurationMap, bonus.duration))).arg(QString::fromStdString(vstd::findKey(bonusNameMap, bonus.type))).arg(bonus.val);
 		}
-		textList += QObject::tr("Bonuses: ") + bonusesList.join(", ");
+		textList += QObject::tr("Bonuses: %1").arg(bonusesList.join(", "));
 	}
 	QString text = textList.join("\n");
-	QMap<int, QVariant> data;
-	data[Qt::DisplayRole] = QVariant(text);
-	data[Qt::ToolTipRole] = QVariant(text);
-	model->setItemData(index, data);
+	model->setItemData(index, {
+		{Qt::DisplayRole, QVariant{text}},
+		{Qt::ToolTipRole, QVariant{text}}
+	});
 }

+ 4 - 4
mapeditor/inspector/townbuildingswidget.cpp

@@ -379,8 +379,8 @@ void TownBuildingsDelegate::updateModelData(QAbstractItemModel * model, const QM
 		textList += name;
 	}
 	QString text = textList.join("\n");
-	QMap<int, QVariant> data;
-	data[Qt::DisplayRole] = QVariant(text);
-	data[Qt::ToolTipRole] = QVariant(text);
-	model->setItemData(index, data);
+	model->setItemData(index, {
+		{Qt::DisplayRole, QVariant{text}},
+		{Qt::ToolTipRole, QVariant{text}}
+	});
 }

+ 8 - 7
mapeditor/inspector/towneventswidget.cpp

@@ -179,15 +179,16 @@ void TownEventsDelegate::setModelData(QWidget * editor, QAbstractItemModel * mod
 
 void TownEventsDelegate::updateModelData(QAbstractItemModel * model, const QModelIndex & index) const
 {
-	QStringList eventLists;
+	QStringList eventList;
+	eventList += QObject::tr("Town Events:");
 	for (const auto & event : town.events)
 	{
 		auto eventName = QString::fromStdString(event.name);
-		eventLists += tr("Day %1 - %2").arg(event.firstOccurrence + 1, 3).arg(eventName);
+		eventList += tr("Day %1 - %2").arg(event.firstOccurrence + 1).arg(eventName);
 	}
-	QString text = QObject::tr("Town Events:\n") + eventLists.join(",\n");
-	QMap<int, QVariant> data;
-	data[Qt::DisplayRole] = QVariant(text);
-	data[Qt::ToolTipRole] = QVariant(text);
-	model->setItemData(index, data);
+	QString text = eventList.join("\n");
+	model->setItemData(index, {
+		{Qt::DisplayRole, QVariant{text}},
+		{Qt::ToolTipRole, QVariant{text}}
+	});
 }

+ 4 - 5
mapeditor/inspector/townspellswidget.cpp

@@ -174,7 +174,6 @@ void TownSpellsDelegate::updateModelData(QAbstractItemModel * model, const QMode
 	if(vstd::contains(town.possibleSpells, SpellID::PRESET)) {
 		textList += QObject::tr("Custom Spells:");
 		textList += QObject::tr("Required:");
-		QStringList requiredSpellsList;
 		for(auto spellID : town.obligatorySpells)
 		{
 			auto spell = spellID.toEntity(VLC);
@@ -196,8 +195,8 @@ void TownSpellsDelegate::updateModelData(QAbstractItemModel * model, const QMode
 		textList += QObject::tr("Default Spells");
 	}
 	QString text = textList.join("\n");
-	QMap<int, QVariant> data;
-	data[Qt::DisplayRole] = QVariant(text);
-	data[Qt::ToolTipRole] = QVariant(text);
-	model->setItemData(index, data);
+	model->setItemData(index, {
+		{Qt::DisplayRole, QVariant{text}},
+		{Qt::ToolTipRole, QVariant{text}}
+	});
 }