From d2580fc84dc4d90f6c4a8ccffb35be80fe03036f Mon Sep 17 00:00:00 2001 From: Ilya Zverev Date: Thu, 24 Mar 2016 14:53:43 +0300 Subject: [editor] Fix name:int_name --- editor/editor_tests/xml_feature_test.cpp | 4 ++++ editor/xml_feature.cpp | 13 +++++++++++-- editor/xml_feature.hpp | 2 ++ 3 files changed, 17 insertions(+), 2 deletions(-) (limited to 'editor') diff --git a/editor/editor_tests/xml_feature_test.cpp b/editor/editor_tests/xml_feature_test.cpp index dd6f19091e..d92d7c619c 100644 --- a/editor/editor_tests/xml_feature_test.cpp +++ b/editor/editor_tests/xml_feature_test.cpp @@ -53,6 +53,7 @@ UNIT_TEST(XMLFeature_Setters) feature.SetName("Gorki Park"); feature.SetName("en", "Gorki Park"); feature.SetName("ru", "Парк Горького"); + feature.SetName("int_name", "Gorky Park"); feature.SetHouse("10"); feature.SetTagValue("opening_hours", "Mo-Fr 08:15-17:30"); @@ -66,6 +67,7 @@ UNIT_TEST(XMLFeature_Setters) + @@ -140,6 +142,7 @@ auto const kTestNode = R"( + @@ -165,6 +168,7 @@ UNIT_TEST(XMLFeature_FromXml) TEST_EQUAL(feature.GetName("default"), "Gorki Park", ()); TEST_EQUAL(feature.GetName("en"), "Gorki Park", ()); TEST_EQUAL(feature.GetName("ru"), "Парк Горького", ()); + TEST_EQUAL(feature.GetName("int_name"), "Gorky Park", ()); TEST_EQUAL(feature.GetName("No such language"), "", ()); TEST_EQUAL(feature.GetTagValue("opening_hours"), "Mo-Fr 08:15-17:30", ()); diff --git a/editor/xml_feature.cpp b/editor/xml_feature.cpp index 3b7abad3b6..2367f036eb 100644 --- a/editor/xml_feature.cpp +++ b/editor/xml_feature.cpp @@ -64,6 +64,8 @@ namespace editor char const * const XMLFeature::kDefaultLang = StringUtf8Multilang::GetLangByCode(StringUtf8Multilang::kDefaultCode); +char const * const XMLFeature::kIntlLang = + StringUtf8Multilang::GetLangByCode(StringUtf8Multilang::kInternationalCode); XMLFeature::XMLFeature(Type const type) { @@ -228,6 +230,8 @@ XMLFeature::TMercatorGeometry XMLFeature::GetGeometry() const string XMLFeature::GetName(string const & lang) const { + if (lang == kIntlLang) + return GetTagValue(kIntlName); auto const suffix = (lang == kDefaultLang || lang.empty()) ? "" : ":" + lang; return GetTagValue(kDefaultName + suffix); } @@ -244,8 +248,13 @@ void XMLFeature::SetName(string const & name) void XMLFeature::SetName(string const & lang, string const & name) { - auto const suffix = (lang == kDefaultLang || lang.empty()) ? "" : ":" + lang; - SetTagValue(kDefaultName + suffix, name); + if (lang == kIntlLang) + SetTagValue(kIntlName, name); + else + { + auto const suffix = (lang == kDefaultLang || lang.empty()) ? "" : ":" + lang; + SetTagValue(kDefaultName + suffix, name); + } } void XMLFeature::SetName(uint8_t const langCode, string const & name) diff --git a/editor/xml_feature.hpp b/editor/xml_feature.hpp index 09043e9f75..f6f09240fd 100644 --- a/editor/xml_feature.hpp +++ b/editor/xml_feature.hpp @@ -25,8 +25,10 @@ DECLARE_EXCEPTION(NoHeader, XMLFeatureError); class XMLFeature { static constexpr char const * kDefaultName = "name"; + static constexpr char const * kIntlName = "int_name"; static constexpr char const * kLocalName = "name:"; static char const * const kDefaultLang; + static char const * const kIntlLang; public: // Used in point to string serialization. -- cgit v1.2.3