|
@@ -277,8 +277,8 @@ void Inspector::updateProperties(CGHeroInstance * o)
|
|
|
delegate->options = {{"MALE", QVariant::fromValue(int(EHeroGender::MALE))}, {"FEMALE", QVariant::fromValue(int(EHeroGender::FEMALE))}};
|
|
|
addProperty<std::string>("Gender", (o->gender == EHeroGender::FEMALE ? "FEMALE" : "MALE"), delegate , false);
|
|
|
}
|
|
|
- addProperty("Name", o->nameCustomTextId, false);
|
|
|
- addProperty("Biography", o->biographyCustomTextId, new MessageDelegate, false);
|
|
|
+ addProperty("Name", o->getNameTranslated(), false);
|
|
|
+ addProperty("Biography", o->getBiographyTranslated(), new MessageDelegate, false);
|
|
|
addProperty("Portrait", o->portrait, false);
|
|
|
|
|
|
auto * delegate = new HeroSkillsDelegate(*o);
|
|
@@ -531,7 +531,7 @@ void Inspector::setProperty(CGPandoraBox * o, const QString & key, const QVarian
|
|
|
if(!o) return;
|
|
|
|
|
|
if(key == "Message")
|
|
|
- o->message.appendRawString(value.toString().toStdString());
|
|
|
+ o->message.appendTextID(mapWriteStringId(TextIdentifier("guards", o->instanceName, "message"), value.toString().toStdString()));
|
|
|
}
|
|
|
|
|
|
void Inspector::setProperty(CGEvent * o, const QString & key, const QVariant & value)
|
|
@@ -553,7 +553,7 @@ void Inspector::setProperty(CGTownInstance * o, const QString & key, const QVari
|
|
|
if(!o) return;
|
|
|
|
|
|
if(key == "Town name")
|
|
|
- o->setNameTextId(value.toString().toStdString());
|
|
|
+ o->setNameTextId(mapWriteStringId(TextIdentifier("town", o->instanceName, "name"), value.toString().toStdString()));
|
|
|
}
|
|
|
|
|
|
void Inspector::setProperty(CGSignBottle * o, const QString & key, const QVariant & value)
|
|
@@ -561,7 +561,7 @@ void Inspector::setProperty(CGSignBottle * o, const QString & key, const QVarian
|
|
|
if(!o) return;
|
|
|
|
|
|
if(key == "Message")
|
|
|
- o->message.appendRawString(value.toString().toStdString());
|
|
|
+ o->message.appendTextID(mapWriteStringId(TextIdentifier("sign", o->instanceName, "message"), value.toString().toStdString()));
|
|
|
}
|
|
|
|
|
|
void Inspector::setProperty(CGMine * o, const QString & key, const QVariant & value)
|
|
@@ -577,7 +577,7 @@ void Inspector::setProperty(CGArtifact * o, const QString & key, const QVariant
|
|
|
if(!o) return;
|
|
|
|
|
|
if(key == "Message")
|
|
|
- o->message.appendRawString(value.toString().toStdString());
|
|
|
+ o->message.appendTextID(mapWriteStringId(TextIdentifier("guards", o->instanceName, "message"), value.toString().toStdString()));
|
|
|
|
|
|
if(o->storedArtifact && key == "Spell")
|
|
|
{
|
|
@@ -606,7 +606,10 @@ void Inspector::setProperty(CGHeroInstance * o, const QString & key, const QVari
|
|
|
o->gender = EHeroGender(value.toInt());
|
|
|
|
|
|
if(key == "Name")
|
|
|
- o->nameCustomTextId = value.toString().toStdString();
|
|
|
+ o->nameCustomTextId = mapWriteStringId(TextIdentifier("hero", o->instanceName, "name"), value.toString().toStdString());
|
|
|
+
|
|
|
+ if(key == "Biography")
|
|
|
+ o->biographyCustomTextId = mapWriteStringId(TextIdentifier("hero", o->instanceName, "biography"), value.toString().toStdString());
|
|
|
|
|
|
if(key == "Experience")
|
|
|
o->exp = value.toString().toInt();
|
|
@@ -643,7 +646,7 @@ void Inspector::setProperty(CGCreature * o, const QString & key, const QVariant
|
|
|
if(!o) return;
|
|
|
|
|
|
if(key == "Message")
|
|
|
- o->message.appendRawString(value.toString().toStdString());
|
|
|
+ o->message.appendTextID(mapWriteStringId(TextIdentifier("monster", o->instanceName, "message"), value.toString().toStdString()));
|
|
|
if(key == "Character")
|
|
|
o->character = CGCreature::Character(value.toInt());
|
|
|
if(key == "Never flees")
|
|
@@ -661,11 +664,11 @@ void Inspector::setProperty(CGSeerHut * o, const QString & key, const QVariant &
|
|
|
if(key == "Mission type")
|
|
|
o->quest->missionType = CQuest::Emission(value.toInt());
|
|
|
if(key == "First visit text")
|
|
|
- o->quest->firstVisitText.appendRawString(value.toString().toStdString());
|
|
|
+ o->quest->firstVisitText.appendTextID(mapWriteStringId(TextIdentifier("quest", o->instanceName, "firstVisit"), value.toString().toStdString()));
|
|
|
if(key == "Next visit text")
|
|
|
- o->quest->nextVisitText.appendRawString(value.toString().toStdString());
|
|
|
+ o->quest->nextVisitText.appendTextID(mapWriteStringId(TextIdentifier("quest", o->instanceName, "nextVisit"), value.toString().toStdString()));
|
|
|
if(key == "Completed text")
|
|
|
- o->quest->completedText.appendRawString(value.toString().toStdString());
|
|
|
+ o->quest->completedText.appendTextID(mapWriteStringId(TextIdentifier("quest", o->instanceName, "completed"), value.toString().toStdString()));
|
|
|
}
|
|
|
|
|
|
|
|
@@ -713,6 +716,11 @@ QTableWidgetItem * Inspector::addProperty(const std::string & value)
|
|
|
return addProperty(QString::fromStdString(value));
|
|
|
}
|
|
|
|
|
|
+QTableWidgetItem * Inspector::addProperty(const TextIdentifier & value)
|
|
|
+{
|
|
|
+ return addProperty(VLC->generaltexth->translate(value.get()));
|
|
|
+}
|
|
|
+
|
|
|
QTableWidgetItem * Inspector::addProperty(const MetaString & value)
|
|
|
{
|
|
|
return addProperty(value.toString());
|
|
@@ -797,6 +805,12 @@ Inspector::Inspector(CMap * m, CGObjectInstance * o, QTableWidget * t): obj(o),
|
|
|
{
|
|
|
}
|
|
|
|
|
|
+std::string Inspector::mapWriteStringId(const TextIdentifier & stringIdentifier, const std::string & localized)
|
|
|
+{
|
|
|
+ map->registerString("map", stringIdentifier, localized);
|
|
|
+ return stringIdentifier.get();
|
|
|
+}
|
|
|
+
|
|
|
/*
|
|
|
* Delegates
|
|
|
*/
|